2012-02-16 16 views
13

¿Cómo puedo hacer que mi reproductor de video salte/busque un momento determinado? He probado esto y funciona cuando la página se carga por primera vez (en Chrome) pero no en ningún otro navegador. También tengo un flashback que podría ser un problema, pero por ahora la prioridad es el lado HTML de las cosas ¡El problema principal es que no funciona fuera de Chrome!Búsqueda de video HTML5 [actualizado]

EDITAR: Esto ahora funciona en IE9, Chrome y Firefox. Sin embargo, ¡no con la caída de flash!

Debajo está mi intento hasta ahora.

estoy usando el siguiente JS hasta ahora:

<script language="javascript"> 
    $(function() { 
    var v = $("#video").get(0); 
     $('#play').click(function(){ 
       v.play(); 
     }); 

     $('.s').click(function(){ 
      alert("Clicked: "+$(this).html() +"- has time of -" + $(this).attr('s')); 
      v.currentTime = $(this).attr('s'); v.play(); 
     }); 
    }); 
    </script> 

que enlaza con el siguiente:

<video id="video" controls width="500"> 
     <!-- if Firefox --> 
     <source src="video.ogg" type="video/ogg" /> 
     <!-- if Safari/Chrome--> 
     <source src="video.mp4" type="video/mp4" /> 
     <!-- If the browser doesn't understand the <video> element, then reference a Flash file. You could also write something like "Use a Better Browser!" if you're feeling nasty. (Better to use a Flash file though.) --> 
     <object type="application/x-shockwave-flash" data="player.swf" 
     width="854" height="504"> 
      <param name="allowfullscreen" value="true"> 
      <param name="allowscriptaccess" value="always"> 
      <param name="flashvars" value="file=video.mp4"> 
      <!--[if IE]><param name="movie" value="player.swf"><![endif]--> 
      <p>Your browser can’t play HTML5 video.</p> 
    </object> 
    </video> 

Con el contexto de tener botones con una clase s y atributo personalizado s=60 para " 60 segundos "etc.

Respuesta

11
seekToTime:function(value) 
{ 
    var seekToTime = this.videoPlayer.currentTime + value; 
    if(seekToTime < 0 || seekToTime > this.videoPlayer.duration) 
     return; 

    this.videoPlayer.currentTime = seekToTime; 
} 

Esta es la función de búsqueda que estamos utilizando. Está en la sintaxis de MooTools, pero obtendrás el punto. Espero eso ayude.

+0

cambiado mi código ahora a tener en cuenta final/inicio de desbordamiento. Pero, ¿qué hay de flash alternativo? ¿Cómo puedo controlar el SWF? Tómelo enfermo necesita JQ adicional – JustAnotherDeveloper

+0

Se aceptó esta respuesta ya que el problema que tengo ahora no está relacionado con la pregunta. – JustAnotherDeveloper

1

Supongo que construyó sus propios controles con js y css ?! bien, por lo tanto, debe ampliar su swf para que pueda llamar a su función de búsqueda desde javascript. interfaz externa es su amigo: en ActionScript/Flash:

import flash.external.ExternalInterface; 

ExternalInterface.addCallback("methodName", this, method); 

function method() { trace("called from javascript"); } 

llaman a esto a través de JavaScript

function callAS() { 
    swf.methodName(); 
} 
+0

Estoy usando el reproductor de video flash básico en este momento, planeo usar FlowPlayer o JWPLayer, etc. Solo tengo que averiguar cómo conectarlos a mis eventos :) – JustAnotherDeveloper