我正在构建一个SWF界面,可以根据需要播放特定的FLV视频片段。当用户单击特定按钮时,播放头将转到预定义的startValue。
vid1.playheadTime = startValue;
vid1.play();
这样可以正常工作,但有时视频需要很长时间才能转到startValue,我想显示一个"正在加载,请等待"发生这种情况时的消息。
我尝试使用计时器检查播放头的当前时间,并显示一条消息(包含在loading_mc movieclip中),如果它与playheadTime不同。
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播放器崩溃,或者有时,load_mc剪辑不会消失。我也相信这可能不是最优雅的解决方案。有关处理此问题的替代方法的任何想法吗?
非常感谢。
答案 0 :(得分:0)
以防任何人遇到类似的问题:
我发现问题出在视频格式上,这阻止了播放器通过视频正确搜索并希望在执行任何搜索功能之前完全加载它。我将视频转换为F4V,然后上面的代码工作正常。