如何在FLV视频中显示加载消息作为SWF寻找下一个点



我正在构建一个按需播放FLV视频特定片段的SWF接口。当用户点击一个特定的按钮时,播放头转到预定义的startValue。

vid1.playheadTime = startValue;
vid1.play();

这工作得很好,但有时它需要很长时间的视频去startValue,我想显示一个"加载中,请等待"的消息,而这发生。

我尝试使用计时器来检查播放头的当前时间,并显示一条消息(包含在loading_mc moviclip中),如果它与播放头时间不同。

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剪辑不会消失。我也相信这可能不是最优雅的解决方案。有什么其他方法可以解决这个问题吗?

以防有人碰到类似的问题:

我发现问题出在视频的格式上,导致播放器无法正确查找视频,想要完全加载才能执行任何查找功能。我将视频转换为F4V,然后上面的代码工作得很好。

最新更新