我有一个使用 Flash 附带的标准 FLV 播放组件的 Flash 视频。我正在使用 ActionScript 3 来修改外观并设置事件侦听器。当视频完成播放时,我已将其设置为使用“externalInterface”转到新 URL。URL 是使用 SWFObject 在变量中设置的。
仅在少数情况下(50 人中有 3 人 - 使用 Amazon Turk 进行测试),人们报告说在视频开始播放之前就被直接带到了新网址。很难重复这个问题,但它确实发生在我身上一次。它与缓存没有任何关系,因为据报道人们第一次访问该 url。
这是视频的网址:http: //www.partstown.com/is-bin/INTERSHOP.enfinity/WFS/Reedy-PartsTown-Site/en_US/-/USD/ViewStaticPage-UnFramed? page=tourthetown
这是代码:
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);
为什么会在事件完成之前触发监听器?我该如何解决?
谢谢!