一次只播放一个SWF文件

时间:2011-05-17 00:26:23

标签: html flash actionscript-3

如何在HTML页面中播放另一个SWF文件时停止播放一个SWF文件?

我目前有一个显示多个SWF文件的轮播,我不希望任何视频或音频重叠。我一直在研究LocalConnection和JavaScript选项,但没有运气。 我的SWF文件目前是ActionScript 3和Flash Player 10。 我有一个大的播放按钮,使用ActionScript代码:

import fl.video.VideoEvent;
import fl.video.VideoState;

video.addEventListener(VideoEvent.STATE_CHANGE,showButton);
playVideoButton.addEventListener(MouseEvent.MOUSE_UP,playVideo);

function playVideo(event:MouseEvent):void {
    video.play();
    playVideoButton.visible=false;
}

function showButton(event:VideoEvent):void {
    switch (event.target.state) {
        case "stopped" :
            playVideoButton.visible=true;
            break;
        case "playing" :
            playVideoButton.visible=false;
            break;
        case "paused" :
            playVideoButton.visible=true;
            break;
    }
}

有没有办法以某种方式阻止“停止播放其他SWF文件”?

1 个答案:

答案 0 :(得分:0)

您要做的是在每个SWF文件中设置ExternalInterface回调方法。这将允许JavaScript调用SWF文件中的函数。

例如,您可以设置一个名为stopPlaying()的函数,就是那个。

然后,您设置了一个名为playVideo(string:String)的JavaScript函数,该函数在每个SWF文件上调用stopPlaying(),但与您传入的字符串相关联的文件除外。

每当有人在您的某个SWF文件中播放时,请执行ExternalInterface.call("playVideo", "myString")并且您的JavaScript函数应该有效。