本机不同程序间的通讯
1.接受消息,执行方法
//创建LocalConnection对象,接受消息
_localConn=new LocalConnection();
//建立连接对象
_localConn.client=this;
try
{
//准备一个 LocalConnection 对象,以接收来自 send() 命令(称为发送方 LocalConnection 对象)的命令。
_localConn.connect("_ADPlayer");
//指定一个或多个可以将 LocalConnection 调用发送到此 LocalConnection 实例的域。
_localConn.allowDomain("*");
} catch (error:ArgumentError) {
trace("无法连接...连接的名称已经被另一个SWF使用");
}
/**
*打开声音
*
*/
public function openVolume():void
{
if(_xml){
_mediaPlayer.defaultVolume=Number(_xml.appVolume);
}
}
/**
*关闭声音
*
*/
public function closeVolume():void
{
_mediaPlayer.defaultVolume=0;
}
2.发送消息端
_sendConn=new LocalConnection();
_sendConn.client=this;
//停止声音
function onClickStop():void
{
//在使用 connect(connectionName) 方法打开的连接(接收方 LocalConnection 对象)上调用名为 methodName 的方法
//AIR程序的格式(app#派发段主程序id:通道名称),方法名,参数(或者直接写被调用的方法名称),player程序的格式,(方法端主程序id)
_sendConn.send("app#:ADPlayer:ADPlayer","onLocDataHandler","closeVolume");
_sendConn.send("app#:ADPlayer:ADPlayer","closeVolume");
( player格式:_sendConn.send("ADPlayer","onLocDataHandler","closeVolume");)
_loconn.allowDomain("*");
}
//打开声音
function onClickPlay():void
{
_sendConn.send("app#ADPlayer:ADPlayer","openVolume");
_loconn.allowDomain("*");
}

浙公网安备 33010602011771号