需要有关Flash,ActionScript和JavaScript的帮助

时间:2010-09-04 00:17:59

标签: javascript flash actionscript javascript-events

我正在尝试让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 :(得分:0)

如果在swf首次嵌入时直接调用该函数,问题可能是swf尚未加载并准备就绪。在执行ActionScript代码(包括ExternalInterface.addCallback(“playSong”,playSong))之前,该函数将是未定义的。因此,首先必须完全加载swf并执行ActionScript代码,然后才能从JavaScript调用playSong()。