我已经将问题解决了几行以隔离它。您可以在http://radiorice.com/mobile/broken.html
看到它音频文件有aac和ogg格式。在<audio>
元素中加载时,它在移动Safari中可以正常播放。但是当我尝试在SoundJS中注册时,Safari会因“此网页出现问题...”消息而崩溃。
该页面适用于桌面Safari,Chrome浏览器以及我在iOS模拟器中运行iPhone 4s的移动版Safari。控制台中没有为模拟器报告任何问题。
因为崩溃总是在页面加载后大约10秒,我想知道这是否是与移动Safari 10s时间限制有关的问题,并尝试将registerSound调用置于具有10秒延迟的timeout()函数中。这只是将事故拖延了10秒。
我不认为这是一个内存问题,因为音频文件可以在<audio>
标记内非常愉快地加载和播放。
<html>
<!DOCTYPE html>
<head>
<script src="https://code.createjs.com/soundjs-0.6.0.min.js"></script>
<script>
var sounds =[
{id:"Sleep_Talk_Recorder", src:"Sleep_Talk_Recorder.m4a"}
];
createjs.Sound.initializeDefaultPlugins();
createjs.Sound.alternateExtensions = ["ogg"];
createjs.Sound.on("fileload", handleLoad); // call handleLoad when each sound loads
createjs.Sound.registerSounds(sounds, "../content/sounds/small/");
function handleLoad(event) {
console.log("Preloaded:", event.id, event.src);
}
</script>
</head>
<body>
<p>Audio file plays fine:</p>
<audio controls>
<source src="../content/sounds/small/Sleep_Talk_Recorder.m4a" type="audio/aac">
<source src="../content/sounds/small/Sleep_Talk_Recorder.ogg" type="audio/ogg">
Your browser does not support the audio element.
</audio>
</body>
</html>