2

問題を分離するために、問題を数行にまで取り除きました。http://radiorice.com/mobile/broken.htmlで見ることができます。

オーディオ ファイルは、aac および ogg 形式で利用できます。<audio>要素内にロードすると、モバイル Safari で正常に再生されます。しかし、SoundJS に登録しようとすると、「この Web ページで問題が発生しました...」というメッセージが表示されて Safari がクラッシュします。

このページは、デスクトップ Safari、Chrome、および iOS シミュレーターの iPhone 4s で実行しているモバイル Safari のバージョンでも正常に動作します。シミュレーターのコンソールで報告された問題はありません。

ページがロードされてからクラッシュは常に約 10 秒なので、モバイル Safari の 10 秒の時間制限に関連する問題ではないかと考え、10 秒の遅延で registerSound 呼び出しを 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