我正在构建一个 SWF 界面,可以按需播放特定的 FLV 视频片段。当用户单击特定按钮时,播放头会转到预定义的 startValue。
vid1.playheadTime = startValue;
vid1.play();
这工作正常,但有时视频需要很长时间才能进入 startValue,并且我想在发生这种情况时显示“正在加载,请稍候”消息。
我尝试使用计时器检查播放头的当前时间,如果它与播放头时间不同,则显示一条消息(包含在 loading_mc 影片剪辑中)。
var myTimer:Timer = new Timer(100);
myTimer.addEventListener(TimerEvent.TIMER, video_ready);
myTimer.start();
function video_ready (e:TimerEvent):void{
if (vid1.playheadTime != startValue){
loading_mc.visible = true;
}
else {
myTimer.stop();
vid1.play();
loading_mc.visible = false;
}
如果我在 Flash 中对其进行测试,这将非常有效,但是在浏览器中进行测试时,它通常会导致 SWF 播放器崩溃,或者有时,loading_mc 剪辑不会消失。我也相信这可能不是最优雅的解决方案。关于处理这个问题的替代方法有什么想法吗?
非常感谢。