Spec-Zone.ru › Web APIs

AudioContext

Базовая поддержка Широко доступна *

Эта функция хорошо поддерживается и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2021 года.

* Некоторые части этой функции могут иметь различный уровень поддержки.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Интерфейс AudioContext представляет собой график обработки звука, построенный из связанных аудиомодулей, каждый из которых представлен AudioNode.

Контекст аудио управляет как созданием узлов, так и выполнением обработки или декодирования аудио. Вам необходимо создать AudioContext перед выполнением любых других действий, поскольку все происходит внутри контекста. Рекомендуется создать один AudioContext и повторно использовать его вместо инициализации нового каждый раз. Можно использовать один AudioContext для нескольких разных аудиоисточников и конвейеров одновременно.

EventTarget BaseAudioContext AudioContext

Конструктор

AudioContext()

Создает и возвращает новый объект AudioContext.

Свойства экземпляра

Также наследует свойства от родительского интерфейса BaseAudioContext.

AudioContext.baseLatency Только для чтения

Возвращает количество секунд задержки обработки, возникающей при передаче аудио от AudioDestinationNode в аудиоподсистему, посредством AudioContext.

AudioContext.outputLatency Только для чтения

Возвращает оценку задержки вывода текущего контекста аудио.

AudioContext.sinkId Только для чтения Экспериментальный Безопасный контекст

Возвращает идентификатор выходного устройства аудио.

Методы экземпляра

Также наследует методы от родительского интерфейса BaseAudioContext.

AudioContext.close()

Закрывает контекст аудио, освобождая используемые им системные аудиоресурсы.

AudioContext.createMediaElementSource()

Создает MediaElementAudioSourceNode, связанный с HTMLMediaElement. Это можно использовать для воспроизведения и управления звуком из <video> или <audio> элементов.

AudioContext.createMediaStreamSource()

Создает MediaStreamAudioSourceNode, связанный с MediaStream, представляющим аудиопоток, который может поступать с микрофона локального компьютера или других источников.

AudioContext.createMediaStreamDestination()

Создает MediaStreamAudioDestinationNode, связанный с MediaStream, представляющим аудиопоток, который может храниться в локальном файле или отправляться на другой компьютер.

AudioContext.createMediaStreamTrackSource()

Создает MediaStreamTrackAudioSourceNode, связанный с MediaStream, представляющим дорожку потока мультимедиа.

AudioContext.getOutputTimestamp()

Возвращает новый AudioTimestamp объект, содержащий два значения временных меток аудио, относящиеся к текущему контексту аудио.

AudioContext.resume()

Возобновляет прогрессирование времени в контексте аудио, который ранее был приостановлен.

AudioContext.setSinkId() Экспериментальный Безопасный контекст

Устанавливает выходное аудиоустройство для AudioContext.

AudioContext.suspend()

Приостанавливает прогрессирование времени в контексте аудио, временно останавливая доступ к аудиооборудованию и снижая использование ЦП/батареи в процессе.

События

sinkchange Экспериментальный

Срабатывает, когда выходное аудиоустройство (и, следовательно, AudioContext.sinkId) изменилось.

Примеры

Базовая декларация контекста аудио:

const audioCtx = new AudioContext();

const oscillatorNode = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
const finish = audioCtx.destination;
// etc.

Спецификации

Спецификация
Web Audio API
# AudioContext

Совместимость браузеров

Настольный Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
AudioContext
35["До Chrome 66 каждая вкладка ограничена 6 аудиоконтекстами в Chrome; попытка создать больше вызовет исключение DOMException. Для подробностей см. Ограничение аудиоконтекста на вкладку в Chrome.", "Если latencyHint недействителен, Chrome выдает исключение TypeError. См. Нестандартные исключения в Chrome для подробностей."]
14–57
12 25
22["До Opera 53 каждая вкладка ограничена 6 аудиоконтекстами в Opera; попытка создать больше вызовет исключение DOMException. Для подробностей см. Ограничение аудиоконтекста на вкладку в Chrome.", "Если latencyHint недействителен, Opera выдает исключение TypeError. См. Нестандартные исключения в Chrome для подробностей."]
15–44
14.1Новые аудиоконтексты приостанавливаются до тех пор, пока метод resume() не будет вызван действием пользователя, например, событием click.
6
35["До Chrome Android 66 каждая вкладка ограничена 6 аудиоконтекстами в Chrome Android; попытка создать больше вызовет исключение DOMException. Для подробностей см. Ограничение аудиоконтекста на вкладку в Chrome Android.", "Если latencyHint недействителен, Chrome Android выдает исключение TypeError. См. Нестандартные исключения в Chrome Android для подробностей."]
18–57
25
22["До Opera Android 47 каждая вкладка ограничена 6 аудиоконтекстами в Opera; попытка создать больше вызовет исключение DOMException. Для подробностей см. Ограничение аудиоконтекста на вкладку в Chrome.", "Если latencyHint недействителен, Opera выдает исключение TypeError. См. Нестандартные исключения в Chrome для подробностей."]
14–43
14.5Новые аудиоконтексты приостанавливаются до тех пор, пока метод resume() не будет вызван действием пользователя, например, событием click.
6
3.0["До Samsung Internet 9.0 каждая вкладка ограничена 6 аудиоконтекстами в Samsung Internet; попытка создать больше вызовет исключение DOMException. Для подробностей см. Ограничение аудиоконтекста на вкладку в Chrome.", "Если latencyHint недействителен, Samsung Internet выдает исключение TypeError. См. Нестандартные исключения в Chrome для подробностей."]
1.0–7.0
37["До WebView 66 каждая вкладка ограничена 6 аудиоконтекстами в WebView; попытка создать больше вызовет исключение DOMException. Для подробностей см. Ограничение аудиоконтекста на вкладку в Chrome.", "Если latencyHint недействителен, WebView выдает исключение TypeError. См. Нестандартные исключения в Chrome для подробностей."]
≤37–57
AudioContext 3514–57 12 25 2215–44 14.16–14.1 3518–57 25 2214–43 14.56–14.5 3.01.0–7.0 374.4–57
baseLatency 58 79 70 45 14.1 58 79 43 14.5 7.0 58
close 42 14 40 29 9 42 40 29 9 4.0 42
createMediaElementSource 15 12
25Если частота дискретизации указана для аудиоконтекста, она должна совпадать с частотой дискретизации потока, иначе этот метод завершится неудачей.
15 6 18
25Если частота дискретизации указана для аудиоконтекста, она должна совпадать с частотой дискретизации потока, иначе этот метод завершится неудачей.
14 6 1.0 ≤37
createMediaStreamDestination 25 79 25 15 11 25 25 14 11 1.5 ≤37
createMediaStreamSource 22 12 25 15 11 25 25 14 11 1.5 ≤37
createMediaStreamTrackSource Нет Нет
68Firefox 68 реализует определение "первого" аудиотрека из обновленного стандарта; теперь первым треком является тот, чей ID идёт первым лексикографически.
Нет Нет Нет
68Firefox for Android 68 реализует определение "первого" аудиотрека из обновленного стандарта; теперь первым треком является тот, чей ID идёт первым лексикографически.
Нет Нет Нет Нет
error_event 128 128 Нет 114 Нет 128 Нет 85 Нет Нет 128
getOutputTimestamp 57 79 70 44 14.1 57 79 43 14.5 7.0 57
outputLatency 102 102 70 88 Нет 102 79 70 Нет 19.0 102
resume 41 14 40 28 9 41 40 28 9 4.0 41
setSinkId 110 110 Нет 96 Нет 110 Нет 74 Нет 21.0 110
sinkId 110 110 Нет 96 Нет 110 Нет 74 Нет 21.0 110
sinkchange_event 110 110 Нет 96 Нет 110 Нет 74 Нет 21.0 110
suspend 41 14 40 28 9 41 40 28 9 4.0 41

См. также

  • Использование Web Audio API
  • OfflineAudioContext

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API