Javascript 在尝试将 var 发送到 AS3 ExternalInterface 时抛出错误
Javascript throws error when trying to send var to AS3 ExternalInterface
我知道已经有很多关于这个话题的问题,但没有一个能解决我的问题,也许我只是错过了一些东西。
无论如何,这是交易。我有一个快乐的小html5游戏,可以播放一些音频和声音影响等,它在每个支持html5的浏览器中都运行良好。但是,那些不需要闪回的。没什么大不了的吧?显然不是...我做了一个小的swf,它应该接受来自JS的mp3网址,然后获取mp3并播放它。我必须使用这种方式,因为有很多音频文件,我想尽量避免为每个文件制作一个 swf 文件。
这是 AS - 我正在使用外部接口从 js 接收变量。
import flash.external.*;
ExternalInterface.addCallback("callFlash", playSound);
function playSound(file:String):void {
var s:Sound = new Sound();
s.load(new URLRequest(file));
s.play();
}
然后我的JS传递变量:
var flash = $('#fbplayer')[0];
console.log(flash); //returns flash object so jquery is not the issue
flash.callFlash(fallSource);
所以理论上一切都应该工作正常(如果我正确理解外部接口)。但是,将引发以下错误:
TypeError: flash.callFlash is not a function
flash.callFlash(fallSource);
我似乎找不到问题出在哪里。我对任何答案都持开放态度,甚至是完全不同的方式。只要它工作,因为这会阻碍项目的交付:C
谢谢!
我知道
这真的很老,但我从来没有成功地用jquery正确找到我的flash对象。最好使用getElementById。另外,几个月前我在一些现代浏览器中遇到的另一件疯狂的事情是,我实际上需要告诉 flash 在通过 ExternalInterface 初始化任何回调后等待一帧。
相关文章:
- 没有找到相关文章