Javascript 在尝试将 var 发送到 AS3 ExternalInterface 时抛出错误

Javascript throws error when trying to send var to AS3 ExternalInterface

本文关键字:ExternalInterface AS3 错误 出错 var Javascript      更新时间:2023-09-26

我知道已经有很多关于这个话题的问题,但没有一个能解决我的问题,也许我只是错过了一些东西。

无论如何,这是交易。我有一个快乐的小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 初始化任何回调后等待一帧。

相关文章:
  • 没有找到相关文章