2

我已将问题简化为几行以隔离它。您可以在http://radiorice.com/mobile/broken.html看到它

音频文件有 aac 和 ogg 格式。<audio>当加载到元素中时,它在移动 Safari 中可以正常播放。但是当我尝试在 SoundJS 中注册它时,Safari 会崩溃并显示“此网页出现问题...”消息。

该页面在桌面 Safari、Chrome 甚至是我在 iOS 模拟器中的 iPhone 4s 上运行的移动 Safari 版本中都可以正常工作。模拟器的控制台中没有报告任何问题。

因为崩溃总是在页面加载后大约 10 秒发生,所以我想知道这是否是与移动 Safari 10 秒时间限制有关的问题,并尝试将 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>
4

0 回答 0