Как сделать так, чтобы страницы Web Audio API продолжали проигрываться в фоновом режиме (например, без автоматического обновления) - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть небольшая веб-аудио-страница, которая непрерывно генерирует звук, не останавливаясь.Я хочу слушать его часами подряд, независимо от того, является ли моя страница текущей вкладкой браузера, является ли браузер основным приложением или включен ли (на мобильном телефоне) экран.

Однако, кажется, трудно гарантировать, что страница Web Audio никогда не перестает воспроизводиться.Даже если у вас есть javascript, способный постоянно генерировать новые данные Web Audio, страница может перестать воспроизводиться при определенных условиях.

Текущее проявление этой проблемы: моя текущая проблема особенно заметна на моем телефоне Android, гдеМне нравится начинать воспроизведение моей веб-аудио-страницы, выключать экран мобильного телефона, а затем слушать в наушниках.В этом случае страница всегда в конечном итоге перестает воспроизводить звук через некоторый интервал, возможно, через десять минут или, возможно, через час или более.Когда это происходит, я открываю Chrome для расследования, после чего Chrome автоматически обновляет страницу, что, конечно, выбрасывает все оставшиеся состояния Web Audio или JavaScript.

(Это поведение автоматического обновления аналогично тому, чтопроисходит в автоматической функции Chrome «отбрасывать вкладки». Но я не знаю точно, является ли это основным объяснением того, что происходит в этом случае.)

В настоящее время я не знаю, как часто эта проблемапроисходит на других устройствах или ОС.Я делаю знаю, что такая же проблема возникает в Firefox для Android.

В любом случае, есть ли способ предотвратить такие вещи, в идеале, независимо от платформы?Было бы неплохо, если бы в Web Audio был универсальный способ предотвращения автоматического удаления, выгрузки, сброса и т. Д. Страниц, на которых воспроизводится звук, *

Тангенциально, возможно ли, чтобы Web Audio сама запрашивала браузер:обновить вкладку, возможно, если я неправильно использую API или занимаю слишком много ресурсов с помощью моего звукового графика?

...