Quand vous dites "Je n'arrive pas à naviguer dans la vidéo la deuxième fois que j'ouvre ma page" ? Voulez-vous dire que vous ne pouvez pas lire la vidéo du tout ou que vous ne pouvez pas faire d'avance rapide ou de retour en arrière dans la vidéo en cours de lecture ?
Que vous obtenez un Type Error: Floating-point value is not finite
signifie qu'un certain paramètre que vous fournissez à video.js n'est pas du bon type. Par exemple, vous fournissez probablement à video.js une chaîne de caractères alors qu'il veut un nombre entier (ou quelque chose de similaire).
Comme cela fonctionne la première fois que vous chargez la page, essayez-vous de reprendre la lecture là où vous l'avez laissée lorsque vous avez quitté la page ?
Si c'est le cas, vous stockez probablement le fichier currentTime
dans une cookie
o localStorage
en tant que chaîne de caractères (en utilisant les cookies jQuery, par exemple, ils sont généralement stringifiés automatiquement) et oublier de la retransformer en int lorsque vous avez besoin que video.js vous la lise. Car ce que je remarque sur votre capture d'écran, c'est que video.js ne semble pas connaître la durée de votre vidéo (c'est-à-dire que le temps de recherche indique 0:31 / 0:00).
Voici ce que vous devez faire :
Videz votre cache pour que le chargement du premier joueur fonctionne :
Avant de commencer la lecture, après la fin de la lecture, et pendant la lecture, vous devez enregistrer la signature temporelle actuelle de la lecture, c'est-à-dire : console.log( videojs("id-of-your-video").currentTime() )
Ajouter une signature temporelle console.logs()
à ces callbacks d'événements de video.js devrait vous aider :
-
changement de durée (tiré si la durée totale de votre vidéo change)
-
durée (vous indique la durée de votre vidéo. Essayez de l'enregistrer pendant que la vidéo fonctionne, puis une fois qu'elle s'est arrêtée, et regardez ce qui a changé dans la valeur.)
- Si vous rencontrez toujours des difficultés, essayez d'enregistrer les valeurs à l'aide de la vidéo js. timeupdate le rappel. Cet événement est appelé lorsque la position actuelle de la lecture a changé (cela peut être plusieurs fois par seconde). Si tout le reste échoue, ce callback peut vous donner un aperçu du moment exact où vous obtenez la valeur de type invalide, mais il ne vous aidera pas si vos problèmes consistent à essayer de reprendre la lecture à partir d'un fichier
.currentTime()
lecture de la valeur à partir d'un type incorrect stocké dans l'utilisateur cookie
/ sessionStorage
/ localStorage
etc.