2

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

当然会发生这种情况,因为我有一个计时器来确定每张幻灯片应该可见多长时间。我想知道的是,是否有一种方法可以让脚本动态地获取视频的长度,并且在视频完成之前不更改幻灯片,并且只为 swf 视频执行此操作。

其他内容应保持计时器。

最好的问候帕帕拉帕

4

1 回答 1

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');         
    }
}
于 2010-11-08T18:33:12.453 回答