在jquery循环幻灯片中播放swf电影到最后

时间:2010-11-08 14:11:51

标签: jquery flash jquery-cycle

我正在制作基于jquery循环插件的幻灯片(在这里找到:http://jquery.malsup.com/cycle/)。幻灯片放映在不同的div之间,我可以放置不同的内容,如图像和文本。不过我还想在基本概述作品中添加swf电影到剧本中。当幻灯片可见时视频开始播放,但在播放完成之前停止播放并转到下一张幻灯片。

当然会发生这种情况,因为我有一个计时器,可以看到每张幻灯片的显示时间。我不知道的是,如果有一种方法可以让脚本动态地获取视频的长度而不是更改幻灯片,直到视频完成并且只为swf视频执行此操作。

其他内容应该保留在计时器上。

最诚挚的问候 Paparappa

1 个答案:

答案 0 :(得分:0)

应该没问题。

首先使用ExternalInterface在Flash和JQuery之间进行通信。 请查看此问题Trigger jquery with flash或直接http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html

然后你有两个选择:

从MetaData对象获取视频流的长度:

1)将NetStream clinet设置为此

mainNS = new NetStream(mainNC);
mainNS.client = this;

2)在这个类中有一个onMetaData公共方法

public function onMetaData(infoObject : Object) : void {
     if (infoObject.hasOwnProperty('duration')) {
          _duration = Number(infoObject['duration']);
     }          
}

或者听视频结束:

1)

mainNS = new NetStream(mainNC);
mainNS.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

2)

private function netStatusHandler(event : NetStatusEvent) : void {
    if (event.info['code'] == "NetStream.Play.Stop") {
        trace('video end');         
    }
}