У меня есть веб-приложение HTML5, которое использует Howler для звукового движка.При тестировании в браузере Safari на реальном устройстве IOS у меня возникают проблемы с приостановкой / приостановкой звука.у нас есть событие, которое срабатывает, когда браузер теряет фокус, я приостанавливаю звук, когда он срабатывает, и возобновляю его на другом событии, когда возвращается фокус.
Это прекрасно работает при первом посещении страницы, хотя впоследствиина странице нет звука.Я сбросил объект soundEngine, чтобы проверить, не изменились ли его настройки и контекст, но они, однако, при втором посещении или после обновления страницы, звук не возобновляется.
Звук не будет воспроизводиться, пока яЯ выполнил сброс кеша в браузере, после чего он будет работать для этого посещения страницы, но не для последующих посещений.
Я попытался приостановить / приостановить, остановить / возобновить, установить громкость, установить флаги _globalPause, добавить onplayerrorобратные вызовы для настройки объектов.
onPauseHandler: function () {
console.log("The pause hanlder has been called.")
if (soundEngine.hasAmbience()) {
soundEngine.setAmbienceVol(0);
}
if (soundEngine.hasSFX()) {
soundEngine.setSFXVol(0);
}
},
onResumeHandler: function () {
console.log("The resume hanlder has been called.")
if (soundEngine.hasAmbience()) {
soundEngine.setAmbienceVol(1);
}
if (soundEngine.hasSFX()) {
soundEngine.setSFXVol(1);
}
}
Приведенный выше код, очевидно, является всего лишь одной версией исправлений, которые я пробовал, как упомянуто выше.soundEngine - это просто оболочка для Howler.