Bonjour,
Je cherche à réaliser un lecteur de fichier flv qui indique via javascript l'état de la lecture.
Mon problème est que je n'ai pas trouvé l'état correspondant au début réel de la lecture du fichier flv.
Voici mon code pour illustrer mes propos :
/* Acquisition du nom du fichier */
var fichierVideo = url_video;
med.setMedia(fichierVideo);
//Un écouteur pour savoir quand la lecture est terminée
var monEcouteur = new Object();
monEcouteur.complete = function(objetEvt) {
getURL('javascript:videoEnd()');
};
med.addEventListener("complete", monEcouteur);
//Un écouteur pour savoir ou on en est de la lecture
var monEcouteur2 = new Object();
monEcouteur2.change = function(objetEvt) {
pourcentage = (med.playheadTime/med.totalTime)*100;
getURL('javascript:videoPourcent('+Math.round(pourcentage)+')');
};
med.addEventListener("change", monEcouteur2);
//Un écouteur pour savoir quand la lecture commence
var monEcouteur3 = new Object();
monEcouteur3.start = function(objetEvt) {
getURL('javascript:videoStart()');
};
med.addEventListener("start", monEcouteur3);
//med est un MediaDisplay, url_video contient le nom du fichier flv
Le problème est que l'évènement start se déclenche trop tôt, je cherche à faire en sorte que
la fonction javascript videoStart ne soit appelée que quand la vidéo commence réellement à s'afficher,
pas quand le buffer commence à se remplir... (la nuance n'est visible que lors du premier chargement
car après le fichier flv se met en cache et la lecture commence desuite...)
Je voudrais donc savoir s'il existe une méthode pour différencier ces deux états ...
Une démo est visible :
[ Lien ] -> video.html -> start
(le code est donc téléchargeable à cette adresse)
On peut donc voir concretement que la fonction videoStart est appellée bien trop tôt, en effet la vidéo reste figée sur la première frame
et ne commence à se lancer que bien plus tard... Existe-t-il un évenement correspondant au début de la lecture du fichier flv ?
PS: je suis débutant avec Flash donc si vous avez d'autres solutions je suis preneur !
Merci d'avance,
Henri