2011-01-23 21 views
6

¿Alguien sabe cómo hacer que JW PLayer v5.4 (la representación de Flash o la representación HTML5) pause después de un comando seek()?Cómo buscar() luego pause() con JWPlayer 5.4

Estoy tratando de hacer que el video avance 0.01 segundos hacia adelante o hacia atrás cuando un usuario hace clic en los botones de control de grano fino (o usa las teclas de flecha izquierda o derecha). Esto es para que puedan ajustar un framegrab con mayor precisión.

No estoy seguro de si esto es posible, pero he intentado algunas cosas sin suerte. Tales como los siguientes:

var stepTo = jwplayer("video_player").getPosition() + 0.01; 

jwplayer("video_player").seek(stepTo).onComplete(function(){ 
    jwplayer('video_player').pause(); 
}); 

Y:

jwplayer("video_player").pause().seek(stepTo); 

Y:

jwplayer("jwplayer_container").seek(stepTo).pause(); 

Y:

jwplayer("video_player").pause().play().pause(); 

También he visto que el plugin 'atajos' tiene esta característica, pero ese complemento no es compatible con v5 .4 aún.

Gracias por cualquier ayuda.

Respuesta

4

@AJB -

Hay a ticket añadir un evento "onSeek" programado para el jugador 5.6. Mientras tanto, la mejor manera de hacer esto es probablemente algo como esto:

jwplayer("video_player").seek(stepTo); 

var pauseOnSeek = true; 
jwplayer.onTime(function() { 
    if (pauseOnSeek) { 
     this.pause(); 
     pauseOnSeek = false; 
    } 
}); 

Si se activa el evento onTime OFF() antes de completar la búsqueda, usted puede ser capaz de cortar alrededor de ella mediante el establecimiento de un tiempo de espera antes definiendo el controlador onTime().

+0

No dice PabloS, lo intenté pero siguió volviendo al "cuadro" en el que inicialmente se detuvo y luego se detuvo nuevamente. No dio un paso adelante. Gracias por la sugerencia, sin embargo. – AJB

+0

Todavía no tengo claro el uso de la función onTime. La conferencia que hago es: Hacer cosas mientras se reproduce el video (en el momento en que se reproduce el video) ... ¿está bien? – Limon

0

Con JW Player 6, se puede hacer lo siguiente para hacer que el vídeo para hacer una pausa después de buscar:

jwplayer("vidPlayerDiv").onSeek(function() { jwplayer("vidPlayerDiv").pause(); }); 
+0

Esto no funcionó para mí porque parece que onSeek() no se invoca por primera vez que llame a seek(). Terminó usando onPlay(). – Berdir

0

Esta es una pequeña variación en el código de Pablos:

jwp = var player = jwplayer('target').setup({ 
    file: '/some-file.mp3' 
}); 

jwp.seek(position); 

var pauseOnSeek = true; 
jwp.onTime(function() { 
    if (jwp.getState() === "PLAYING" && pauseOnSeek) { 
     this.pause(); 
     pauseOnSeek = false; 
    } 
}); 

que tenía que escribir código que cambió el archivo de media fuente sin iniciar el video desde el principio. Quería manejar el cambio de video cuando estaba en pausa. Cuando utilicé seek y pause en onSeek devolución de llamada, no funcionó porque el video aún estaba almacenado. Pausar en onTime devolución de llamada como en el código anterior funcionó como un amuleto.

+0

¿Cómo se pueden hacer sin utilizar onTime? – Limon

Cuestiones relacionadas