2011-08-09 55 views
0

我的需求: 如果我玩一個swf,其他swfs應該暫停,如果它正在播放。使用as3的多個swf通信

我能夠使用javascript來溝通兩個swf(兩個swfs都是不同的名字)。但是來到多個swf,我不知道如何區分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

嗯,我想我會解決這個問題的方式如下:

  • 修改SWF生成在創建一個隨機ID。
  • 添加有一個ID值作爲參數,並呼籲所有的SWF預定義功能的JavaScript函數(比方說processPlayEvent(id:String):void
  • 使用Flash ExternalInterface調用該函數傳遞當前SWF ID作爲參數
  • 裏面的processPlayEvent功能您是否提供ID等於當前的電影之一。如果他們是不平等的,要暫停當前SWF的播放。
+0

感謝您的想法......先生.chrisdutz – Benny