Apple-mobile-web-приложение, использующее систему Web Audio API, не отвечает, когда состояние приложения возвращается из фона

Я разработал простое веб-приложение HTML 5 с использованием API Web Audio. Страница сохраняется как веб-клип, и для включения полноэкранного режима добавляется метатег apple-mobile-web-app. В Safari все отлично работает, звук воспроизводится так, как задумано. Однако, если кнопка "Домой" нажата, а приложение отправлено в фоновое состояние, а затем возобновлено, кнопка "Домой" перестает отвечать на запросы, и единственным способом решения проблемы является полный сброс настроек.

Вот мой код:

<head>
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <script>
        var context;
        var buffer;

        function init() {
            if ('webkitAudioContext' in window) {
                context = new webkitAudioContext();
                var request = new XMLHttpRequest();
                request.open('GET', 'sounds/sound.mp3', true);
                request.responseType = 'arraybuffer';
                request.addEventListener('load', function () {
                    var request = event.target;
                    buffer = context.createBuffer(request.response, false);
                }, false);
                request.send();
            }
        }

        function play() {
            var source = context.createBufferSource();
            source.buffer = buffer;
            source.connect(context.destination);
            source.start(0);
        }
    </script>
</head>

<body onload="init()">
    <button onclick="play()">Play</button>
</body>

0 ответов

Другие вопросы по тегам