使用as3进行多个swf通信

时间:2011-08-09 10:03:46

标签: actionscript-3 flash-cs5

我的需要:    如果我玩一个swf,其他swfs应该暂停,如果它正在播放。

我可以使用javascript(两个swfs是不同的名称)来传达两个swfs。但是来到多个swfs,我不知道如何区分swfs,因为所有都是同名。

我使用以下脚本在我的html页面中嵌入了3个swf文件。

swfobject.embedSWF('http://webserver/aruldass/versemusic/modules/mod_playerjr/player-songs.swf', 'jwplayer1', '280', '230', '9', false, flashvars, params, attributes); 

swfobject.embedSWF('http://webserver/aruldass/versemusic/modules/mod_playerjr/player-songs.swf', 'jwplayer2', '280', '230', '9', false, flashvars, params, attributes); 

swfobject.embedSWF('http://webserver/aruldass/versemusic/modules/mod_playerjr/player-songs.swf', 'jwplayer3', '280', '230', '9', false, flashvars, params, attributes);

我想互相沟通。

分享您的想法。

1 个答案:

答案 0 :(得分:1)

嗯,我想我会通过以下方式解决这个问题:

  • 修改SWF以在创建时生成随机ID。
  • 添加一个id值作为参数的JavaScript函数,并在所有SWF上调用预定义的函数(假设processPlayEvent(id:String):void
  • 使用Flash ExternalInterface调用该函数,将当前SWF Id作为参数传递
  • processPlayEvent函数中,检查提供的id是否等于当前影片的id。如果它们不相等,则停止播放当前的SWF。