Звук рева не возобновляется на IOS после обновления страницы - PullRequest
1 голос
/ 26 сентября 2019

У меня есть веб-приложение 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.

...