无法在我的Flash / HTML5 / Canvas项目中播放音频

时间:2015-04-19 01:36:23

标签: javascript flash audio canvas createjs

在基于Flash的Canvas项目中播放声音时遇到很多问题。我在这里使用基本示例(http://createjs.com/Docs/SoundJS/classes/Sound.html)来完成工作,我得到的是一个黑屏并出现以下错误:

参数列表

之后

SyntaxError:missing)

我的JS文件中包含以下内容:

createjs.Sound.on("fileload", createjs.proxy(this.loadHandler, (this));

所以我添加额外的)但现在又出现了另一个错误:

TypeError:createjs.Sound未定义

这是:

createjs.Sound.registerPlugins([createjs.WebAudioPlugin, createjs.FlashAudioPlugin]);

这里发生了什么?为什么我不能让这个玩呢?

这是完整的代码:

createjs.Sound.registerPlugins([createjs.WebAudioPlugin, createjs.FlashAudioPlugin]);
createjs.Sound.alternateExtensions = ["mp3"];
createjs.Sound.on("fileload", createjs.proxy(this.loadHandler, (this)));
createjs.Sound.registerSound("sounds/LaGrange.mp3", "sound");
function loadHandler(event) {
     // This is fired for each sound that is registered.
     var instance = createjs.Sound.play("sound");  // play using id.  Could also use full source path or event.src.
     instance.on("complete", createjs.proxy(this.handleComplete, this));
     instance.volume = 0.5;
}

2 个答案:

答案 0 :(得分:2)

那令人尴尬。该示例确实有2个错误。第一个是缺失的")",你抓住并纠正了。第二个是FlashAudioPlugin没有完全设置。在注册插件之前,您需要添加此行来设置FlashAudioPlugin.swf的路径:

 createjs.FlashAudioPlugin.swfPath = "../src/soundjs/flashaudio";

感谢您抓住这一点。我已经将其固定版本推送到github。此外,如果您想要更多工作示例进行测试,则所有demos都经过了充分测试。

希望有所帮助。

答案 1 :(得分:0)

如果您在本地进行测试(即,不在Web服务器上 - 远程或本地),则WebAudio无法播放,因为它使用XHR加载它,这不能跨域工作(使用file:///是也被认为是不安全的)

将其更改为仅在测试时使用HTMLAudio,它应该可以正常工作。