0

我正在构建一个 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 剪辑不会消失。我也相信这可能不是最优雅的解决方案。关于处理这个问题的替代方法有什么想法吗?

非常感谢。

4

1 回答 1

0

以防万一有人偶然发现类似的问题:

我发现问题出在视频格式上,这导致播放器无法正确地通过视频进行搜索,并希望在执行任何搜索功能之前将其完全加载。我将视频转换为 F4V,然后上面的代码运行良好。

于 2013-06-12T17:17:23.323 回答