2016-11-08 3 views
0

Je suis nouveau sur jwplayer. J'ai l'URL de la vidéo http://wpc.3DA92.deltacdn.net/803DA92/IDC/f_1/idc.m3u8? signature1.Problème: JWPlayer relit toujours depuis la position 0 lors de la mise à jour de l'url

signature1 est juste une chaîne. Je lis cette vidéo dans jwplayer.

mais je dois mettre à jour la signature toutes les 2 minutes Donc, j'ai mis l'intervalle pour obtenir une nouvelle signature (http://wpc.3DA92.deltacdn.net/803DA92/IDC/f_1/idc.m3u8? signature2) et définir pour jwplayer.

les deux vidéos sont les mêmes changements de signature.

Donc, mon problème est que la vidéo est reprise quand je me mis à jour la signature et fixée pour jwplayer par le code suivant

jwplayer('watch-video').setup(fnGetJwpOpt(video)); 

function fnGetJwpOpt(video) { 
       var jwOption = { 
        skin: { 
         background: '#000000', 
         inactive: '#ffffff', 
         active: '#ff0000' 
        }, 
        captions: { 
         color: '#0000ff' 
        }, 
        width: '100%', 
        repeat: false 
       }; 

       var windowWidth = angular.element($window).width(); 

       if (windowWidth < 768) { 
        jwOption.aspectratio = '16:9'; 
       } else { 
        jwOption.height = 500; 
       } 

       jwOption.playlist = [{ 
        sources: [{ 
         file: video.url 
        }], 
        image: video.img, 
        title: video.title 
       }]; 

       jwOption.abouttext = video.text; 

       return jwOption; 
      } 

et après le jeu vidéo

jwplayer('watch-video').play(); 

Alors, quand je joue vidéo et mise à jour de la signature toutes les 2 minutes pour jwplayer et lecture vidéo à chaque fois que la lecture vidéo commence.

Je souhaite continuer à lire la vidéo sur cette position avant la mise à jour de la signature ... ne pas rejouer.

Répondre

0

Vous devez saisir la position actuelle que vous voulez reprendre, comme ceci:

var currentPositionInVideo = jwplayer('playerId').getPosition(); 

Puis, quand instanciation votre lecteur, vous pouvez placer ce qui suit dans la fonction de rappel onReady, comme ceci:

... 
    width: '100%', 
    aspectratio: '16:9', 
    events: { 
     onReady: function() { 
     jwplayer('playerId').seek(currentPositionInVideo); 
     }, 
    ... 

Vous devez spécifier la position de recherche en secondes. Voici un stylo qui montre comment fonctionne la fonction API .seek().

http://codepen.io/simsketch/pen/gLNVYb

Edit: Si vous voulez prendre un peu plus loin, vous pouvez enregistrer la variable currentPositionVideo à localStorage de sorte qu'il est là au cas où les utilisateurs ou rafraîchi quelque chose, comme celui-ci.

localStorage.setItem("currentPosVid",currentPositionInVideo); 

puis récupérer comme si

var currentPos = localStorage.getItem("currentPosVid")