Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash、ActionScript和JavaScript-未定义函数_Javascript_Flash_Actionscript_Dom Events - Fatal编程技术网

Flash、ActionScript和JavaScript-未定义函数

Flash、ActionScript和JavaScript-未定义函数,javascript,flash,actionscript,dom-events,Javascript,Flash,Actionscript,Dom Events,我正试图让JavaScript从我的ActionScript调用一个函数 动作脚本: import flash.external.ExternalInterface; ExternalInterface.addCallback( "playSong", playSong ); function playSong():void { var _sound:Sound = new Sound(); var _request = new URLReques

我正试图让JavaScript从我的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加载后立即播放歌曲,这是肯定的。

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

谢谢,解决了问题:)谢谢,解决了问题:)