我有一个网页index.php
,其中包含指向sound.php
. On sound.php
,使用 SoundJS 播放声音。
当我从 导航sound.php
到 时index.php
,谷歌浏览器通常(但并非总是)显示一条错误消息(“噢,快!”):
https ://support.google.com/chrome/answer/95669?hl=en
我正在使用适用于 Mac OS 的 Chrome 40。不管我是使用链接还是浏览器的后退按钮。
这是我的代码:
sound.php
调用一个使用 SoundJS 的 JS 函数:
<script type="text/javascript">
var int = [0, 7];
prepareAudio();
</script>
一旦我删除了这段代码,浏览器就不会再崩溃了。
prepareAudio() 在一个外部文件中:
function prepareAudio() {
// Try WebAudio or HTMLAudio
createjs.Sound.initializeDefaultPlugins();
// Try flash otherwise
if (!createjs.Sound.isReady()) {
// Flash plug-in is not default
createjs.FlashPlugin.swfPath = "../audio/";
// Enable flash support
$.getScript("../../js/flashplugin-0.6.0.min.js");
// Prefer WebAudio over HTMLAudio. Prefer HTMLAudio over Flash.
createjs.Sound.registerPlugins([createjs.WebAudioPlugin, createjs.HTMLAudioPlugin, createjs.FlashPlugin]);
}
// Get audio files
var audioPath = "../audio/";
var manifest = [];
for (var i = 0; i< audioFiles.length; i++)
manifest.push({id: audioFiles[i], src: audioPath + audioFiles[i] + ".ogg"});
// Play audio
var queue = new createjs.LoadQueue();
createjs.Sound.alternateExtensions = ["mp3"];
queue.installPlugin(createjs.Sound);
queue.addEventListener("complete", function() {playTask(int);});
queue.loadManifest(manifest);
createjs.Sound.registerSounds(manifest, audioPath);
}
涉及更多代码。我使用播放声音
createjs.Sound.play(mySound);
在 Chrome 和其他浏览器中可以正常播放音频。