Аудиоконтекст в iOS не возобновляется после приостановкиIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Аудиоконтекст в iOS не возобновляется после приостановки

Сообщение Anonymous »

У меня есть веб-сайт, на котором воспроизводится аудио. Чаще всего он запускается внутри WebView в приложении iOS, хотя доступ к нему можно получить напрямую. Звук воспроизводится с использованием AudioContext. Когда устройство переходит в спящий режим или экран переходит в спящий режим, AudioContext приостанавливается. Я слушаю событие statechange, и если состояние звука изменится на приостановленное или прерванное, я отобразю индикатор паузы, когда пользователь вернется в приложение. Нажатие на индикатор паузы запускает следующий код:

Код: Выделить всё

async function resumeAudio() {
if (context.state === SUSPENDED || context.state === INTERRUPTED) {
try {
console.log(`Audio context state is ${context.state}. Attempting to resume audio context.`);
await context.resume();
console.log(`Audio context resumed. State is now ${context.state}.`);
} catch (e) {
console.error('Error resuming audio context: ', e);
}
}
}
Иногда, когда контекст приостановлен, вызов возобновления будет работать, иногда — нет. Когда он не работает, вызов await context.resume() никогда не разрешается.
Есть ли какое-либо объяснение, почему он застревает в режиме ожидания? Единственная причина, по которой я пока что вижу, связана с необходимостью, чтобы вызов context.resume() был частью пользовательского ввода, как я это и делаю.

Изменить: сразу после публикации я понял, что забыл дождаться context.resume(). Я отредактировал функцию, сделав ее асинхронной, и теперь жду возобновления.

Подробнее здесь: https://stackoverflow.com/questions/792 ... om-suspend
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»