Je utilise videoJs pour charger une vidéo dans une plateforme administrateur construite en react. J'ai configuré le lecteur ici :
else if (contentSource == 'arclight'){
var options = {
height:'216',
sources :[{
//src: this.state.video.url,
// type: 'video/mp4'
}]
}
var player = videojs('player',options,function onPlayerReady() {
videojs.log('Votre lecteur est prêt !');
})
this.setState({
player:player,content: contentSource
});
}
Ma vidéo est affichée dans cette balise :
Pour visionner cette vidéo, veuillez activer JavaScript et envisagez
de passer à un navigateur web qui
prend en charge la vidéo HTML5
et enfin, j'essaie d'obtenir le temps actuel de la vidéo qui est en cours de lecture dans cette méthode
handleCurrentButton(inputId, event){
event.preventDefault();
var timeMark =0;
if(this.state.content == 'vimeo'){
this.state.player.getCurrentTime().then(function(seconds){console.log(seconds)
timeMark=seconds;
VideosActions.updateVideoAttribute(inputId, timeMark);
}).catch(function(error){
});
}
else if(this.state.content == 'youtube') {
timeMark = Math.round(this.state.player.getCurrentTime());
VideosActions.updateVideoAttribute(inputId, timeMark);
}
else {
// timeMark = this.state.player.currentTime();
console.log(this.state.player.currentTime())
VideosActions.updateVideoAttribute(inputId, timeMark);
}
}
Le problème est que l'appel player.currentTime() retourne toujours 0. Les deux autres getCurrentTime pour Vimeo et Youtube fonctionnent bien. Quelle est la raison derrière cela ? J'ai essayé de fournir suffisamment de contexte autour de ce problème pour que vous puissiez le résoudre. Merci pour votre aide d'avance !