множественная SWF-связь с использованием as3 - PullRequest
0 голосов
/ 09 августа 2011

Моя потребность: Если я играю на одном SWF-файле, другие SWF-файлы должны приостановиться, если он воспроизводит.

Я могу общаться с двумя swfs, используя javascript (оба swfs имеют разные имена). Но давайте подойдем к нескольким SWF-файлам, я не знаю, как отличить SWF-файлы, потому что все они имеют одинаковые имена.

Я вставил 3 SWF-файла в свою HTML-страницу, используя следующий скрипт.

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 Ответ

1 голос
/ 09 августа 2011

Ну, думаю, я бы решил эту проблему следующим образом:

  • Измените SWF-файл для создания случайного идентификатора при создании.
  • Добавить функцию JavaScript, которая имеет значение id в качестве параметра и вызывает предопределенную функцию для ВСЕХ SWF (скажем, processPlayEvent(id:String):void
  • Используйте Flash ExternalInterface для вызова этой функции, передавая текущий SWF Id в качестве параметра
  • Внутри функции processPlayEvent вы проверяете, равен ли предоставленный идентификатор идентификатору текущего фильма. Если они неравны, вы останавливаете воспроизведение текущего SWF.
...