【问题标题】:Play only one SWF file at a time一次只播放一个 SWF 文件
【发布时间】:2011-05-17 00:26:22
【问题描述】:

如何在 HTML 页面中播放另一个 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 文件”?

【问题讨论】:

    标签: html flash actionscript-3


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢 Myk,我现在只是想弄清楚它,我明白你的意思,我只需要弄清楚去哪里 - 我会报告我的发现 - 谢谢为您提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多