在iPhone 4s上加载一个2mb音频文件时,Mobile Safari崩溃了

时间:2015-03-13 11:01:33

标签: ios soundjs

我已经将问题解决了几行以隔离它。您可以在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>

0 个答案:

没有答案