gpt4 book ai didi

javascript - 同一 SWF 的不同实例之间的 LocalConnection?

转载 作者:行者123 更新时间:2023-11-29 17:33:13 26 4
gpt4 key购买 nike

我正在 AS3 中构建一个简单的音频播放器。我想在我的 html 中嵌入此音频播放器的多个实例,当一个播放器播放时,其他播放器暂停。是否可以使用 LocalConnection 在同一 swf 的不同实例之间进行通信?根据我的测试,一旦与一个实例建立连接,其他实例就会抛出错误...

我的另一个选择是使用 javascript。还有其他想法吗?

最佳答案

对于所有感兴趣的人,这是我的简单实现。

Javascript 代码

//keep a reference to every player in the page
players = [];

//called by every player
function register(id)
{
players.push(id);
}

//stop every player except the one sending the call
function stopOthers(from_id)
{
for(var i = 0; i < players.length; i++)
{
var id = players[i];
if(id != from_id)
{
//setEnabled is a callback defined in AS3
thisMovie(id).setEnabled(false);
}
}
}

//utility function to retreive the right player
function thisMovie(movieName)
{
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
}
}

AS3 代码

if(ExternalInterface.available)
{
ExternalInterface.addCallback("setEnabled", setEnabled);
ExternalInterface.call("register", ExternalInterface.objectID);
}

function setEnabled(value:Boolean):void
{
//do something
}

//when I want to stop other players
if(ExternalInterface.available)
ExternalInterface.call("stopOthers", ExternalInterface.objectID);

关于javascript - 同一 SWF 的不同实例之间的 LocalConnection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com