Flash AS3: (VideoEvent.COMPLET, completePlay) - auditeur est déclenché avant que la vidéo est terminée
J'ai une vidéo flash en utilisant le standard de Lecture FLV composant fourni avec le Flash. Je suis à l'aide d'ActionScript 3 pour modifier l'apparence et mettre en place un écouteur d'événement. Je l'ai mis pour aller vers une nouvelle URL à l'aide de "externalInterface" lorsque la vidéo est terminée jouer. L'URL est définie dans une variable à l'aide de SWFObject.
Sur quelques cas seulement (3 personnes de 50 - testé à l'aide d'Amazon Turk), des personnes qui ont déclaré être pris directement à la nouvelle url, avant que la vidéo même commencé à jouer. Il est difficile de répéter la question, mais c'est arrivé à moi une fois. Elle n'a rien à voir avec le cache, car il a été signalé sur des gens qui vont à l'url pour la première fois.
Voici l'url de la vidéo: http://www.partstown.com/is-bin/INTERSHOP.enfinity/WFS/Reedy-PartsTown-Site/en_US/-/USD/ViewStaticPage-UnFramed?page=tourthetown
Voici le code:
import flash.external.*;
import fl.video.*;
var myVideo:FLVPlayback = new FLVPlayback();
var theUrl:String = this.loaderInfo.parameters.urlName;
var theScript:String = this.loaderInfo.parameters.scriptName;
myVideo.source = this.loaderInfo.parameters.videoPath;//"partstown.flv";
myVideo.skin = this.loaderInfo.parameters.skinPath;//"SkinUnderPlayStopSeekMuteVol.swf"
myVideo.skinBackgroundColor = 0xAEBEFB;
myVideo.skinBackgroundAlpha = 0.5;
myVideo.width = 939;
myVideo.height = 660;
myVideo.addEventListener(VideoEvent.COMPLETE, completePlay);
function completePlay(e:VideoEvent):void {
myVideo.alpha=0.2;
ExternalInterface.call(theScript);
}
addChild(myVideo);
Pourquoi l'auditeur être déclenché avant l'événement complet? Comment puis-je résoudre ce problème?
Merci!
Vous devez vous connecter pour publier un commentaire.
de ce que j'étais ablr pour trouver que vous auriez besoin de vérifier pour voir la première cessé de l'état de la vidéo.
le code est disponible ici
dreamincode
.
De ce que j'ai compris, c'est que la fin de la vidéo est chargé est un premier arrêté de l'état, ce qui signifie que votre entièrement chargé vidéo déclenche l'événement. ainsi, la vidéo est ignorée. J'étais allé sur le lien que vous avez posté, et a trouvé que j'étais trop redirigé avant la vidéo.
espère que cela aide un peu. allons continuer à chercher pour voir si il y a autre chose.
Il semble Firefox déclenche l'ACHEVER quand il atteint la fin de chargé montant de la vidéo. C'est, si l'ensemble de la vidéo n'a pas été chargé, mais il complète la fraction de ce qu'il a, l'auditeur obtient de feu. La définition de mon propre progrès de l'événement, au lieu de compter sur le construit "playwhenenoughloaded" semble avoir résolu le problème.
Voici le code: