AudioContext: метод suspend()
Базовая реализация Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна во всех браузерах с апреля 2021 года.
Метод suspend() интерфейса AudioContext приостанавливает ход времени в контексте аудио, временно останавливая доступ к аудиооборудованию и снижая использование ЦП/аккумулятора. Это полезно, если вы хотите, чтобы приложение отключало аудиооборудование, когда оно какое-то время не будет использовать контекст аудио.
Этот метод вызовет исключение INVALID_STATE_ERR при вызове на OfflineAudioContext.
Синтаксис
suspend()
Параметры
Нет.
Возвращаемое значение
Обещание Promise, которое разрешается значением undefined. Обещание отклоняется, если контекст уже закрыт.
Примеры
Следующий фрагмент взят из нашего примера состояний AudioContext (посмотреть в реальном времени.) Когда нажимается кнопка приостановки/возобновления, запрашивается AudioContext.state — если он running, вызывается suspend(); если он suspended, вызывается resume(). В каждом случае текстовая метка кнопки обновляется соответствующим образом после разрешения обещания.
susResBtn.onclick = () => {
if (audioCtx.state === "running") {
audioCtx.suspend().then(() => {
susResBtn.textContent = "Resume context";
});
} else if (audioCtx.state === "suspended") {
audioCtx.resume().then(() => {
susResBtn.textContent = "Suspend context";
});
}
};
Спецификации
| Спецификация |
|---|
| Web Audio API # dom-audiocontext-suspend |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
suspend |
41 | 14 | 40 | 28 | 9 | 41 | 40 | 28 | 9 | 4.0 | 41 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/suspend