Нужна помощь с Flash, ActionScript и JavaScript - PullRequest
2 голосов
/ 04 сентября 2010

Я пытаюсь, чтобы JavaScript вызывал функцию из моего ActionScript.

ActionScript:

import flash.external.ExternalInterface;

ExternalInterface.addCallback( "playSong", playSong );

function playSong():void {
    var _sound:Sound = new Sound();
    var _request = new URLRequest("music.mp3");

    _sound.load(_request);
    _sound.play();
}

JavaScript:

swfobject.embedSWF('http://localhost/music.swf', 'musicplayercontrol1', '1', '1', '9', null, null, { allowScriptAccess: 'always', wmode: 'transparent' }, { }, function( e ) {
    document.getElementById('musicplayercontrol1').playSong();
});

Я продолжаю получать функциюне определено из firebug.Кто-нибудь знает, что я делаю не так?Я попытался воспроизвести песню, как только загрузится SWF, и это точно работает.

1 Ответ

0 голосов
/ 04 сентября 2010

Если вы вызываете функцию непосредственно при первом включении SWF-файла, проблема может заключаться в том, что SWF-файл еще не загружен и не готов. Функция будет неопределенной до тех пор, пока не будет выполнен ваш код ActionScript, включая ExternalInterface.addCallback («playSong», playSong). Итак, сначала swf должен быть полностью загружен и выполнен код ActionScript, прежде чем вы сможете вызывать playSong () из JavaScript.

...