Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. Интерфейсы веб API
  3. AudioContext

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

AudioContext

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since апрель 2021 г..

* Some parts of this feature may have varying levels of support.

Интерфейс AudioContext можно представить как граф, состоящий из связанных между собой узловAudioNode. С помощью этого интерфейса можно контролировать как создание узлов, из которых состоит AudioContext, так и контролировать обработку и декодирование звука. Необходимо создать AudioContext перед тем как делать что-либо ещё со звуком, так как всё что происходит при обработке звука, происходит внутри AudioContext.

AudioContext может выступать как обработчик событий, и он реализует интерфейсEventTarget.

Свойства

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

Содержит число с типом double, которое содержит значение времени в секундах, полученное от часов компьютера клиента. Это значение не может быть изменено никаким образом, оно только для чтения.

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

Содержит ссылку наAudioDestinationNode, представляющий собой точку назначения для всего аудио в этом контексте. Может рассматриваться как, например, аудио-воспроизводящее устройство.

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

Содержит ссылку на объектAudioListener, применяется для ориентирования в 3D-пространстве.

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

Содержит число с типом float, представляющее собой частоту сэмплирования звука (sample rate), используемую всеми узлами в этом контексте. Это значение только для чтения и не может быть изменено.

AudioContext.mozAudioChannelTypeНе стандартноТолько для чтения

Содержит ссылку на аудио-канал, который будет использоваться для воспроизведения звука вAudioContext на устройствах с FireFox OS. Только для чтения.

Методы

Также реализованы методы из интерфейсаEventTarget.

AudioContext.createBuffer()

Создаёт новый пустой объектAudioBuffer, в который затем могут помещаться данные для воспроизведения черезAudioBufferSourceNode.

AudioContext.createBufferSource()

Создаёт объектAudioBufferSourceNode, который может быть использован для воспроизведения и обработки данных звукового потока, содержащегося в объектеAudioBuffer . Объекты типаAudioBuffer создаются с помощью методаAudioContext.createBuffer или возвращаются методомAudioContext.decodeAudioData, когда декодирование аудио-дорожки успешно завершено.

AudioContext.createMediaElementSource()

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

AudioContext.createMediaStreamSource()

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

AudioContext.createMediaStreamDestination()

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

AudioContext.createScriptProcessor()

Создаёт объектScriptProcessorNode, который может быть использован для прямой обработки звука с помощью JavaScript.

AudioContext.createAnalyser()

Создаёт объектAnalyserNode, который может быть использован для получения времени воспроизведения и частоты воспроизводимого звука, что, в свою очередь может быть использовано для визуализации звукового потока.

AudioContext.createBiquadFilter()

Создаёт объектBiquadFilterNode, который представляет собой фильтр второго порядка, конфигурируемый как фильтр верхних частот, как фильтр нижних частот, фильтр полосы пропускания и так далее.

AudioContext.createChannelMerger()

Создаёт объектChannelMergerNode, который используется для слияния каналов из множества аудио-потоков в один аудио-поток.

AudioContext.createChannelSplitter()

Создаёт объектChannelSplitterNode, который используется для доступа к отдельным каналам аудио-потока для их дальнейшей обработки по отдельности.

AudioContext.createConvolver()

Создаёт объектConvolverNode, который может быть использован для применения эффекта свёртки (convolution effect) к аудио-графу. Например, для создания эффекта реверберации.

AudioContext.createDelay()

Создаёт объектDelayNode, который может быть использован для задержки входящего аудио-сигнала на определённое время. Этот узел также удобен для создания петель обратной связи (feedback loops) в Web Audio графе.

AudioContext.createDynamicsCompressor()

Создаёт объектDynamicsCompressorNode, который может быть использован для акустической компрессии аудио-сигнала.

AudioContext.decodeAudioData()

Асинхронно декодирует данные из аудио-файла, находящиеся вArrayBuffer. В этом случае ArrayBuffer заполняется при ответе на запросXMLHttpRequest.и установке атрибутаresponseType вarraybuffer. Этот метод работает только с полными аудио-файлами и не работает с их фрагментами.

AudioContext.createGain()

Создаёт объектGainNode, который может быть использован для контроля общей громкости во всём аудио-графе.

AudioContext.createOscillator()

Создаёт объектOscillatorNode, источник, представляющий собой периодическую волну звукового сигнала.

AudioContext.createPanner()

Создаёт объектPannerNode, который используется для пространственного определения аудио-потока в трёхмерном пространстве.

AudioContext.createPeriodicWave()

Создаёт объектPeriodicWave, используемый для определения периодической волны звукового сигнала, которая, в свою очередь, используется для определения вывода вOscillatorNode.

AudioContext.createWaveShaper()

Создаёт объектWaveShaperNode, который может быть использован для создания эффектов нелинейных звуковых искажений.

AudioContext.createAudioWorker()

Создаёт объектAudioWorkerNode, который может взаимодействовать с потоком web worker для непосредственных генерации, обработки или анализа аудио данных. Этот метод был добавлен в спецификацию 29 августа 2014 года и не в каждом браузере пока поддерживается.

Устаревшие методы

AudioContext.createJavaScriptNode()

Создаёт объектJavaScriptNode, используемый для непосредственной обработки звука в JavaScript. Этот метод устарел и заменён наAudioContext.createScriptProcessor().

AudioContext.createWaveTable()

Создаёт объектWaveTableNode, для определения периодической волны звукового сигнала. Этот метод устарел и заменён наAudioContext.createPeriodicWave().

Примеры

Простая декларация аудио-контекста:

js
var audioCtx = new AudioContext();

Кросс-браузерный вариант:

js
var AudioContext = window.AudioContext || window.webkitAudioContext;var audioCtx = new AudioContext();var oscillatorNode = audioCtx.createOscillator();var gainNode = audioCtx.createGain();var finish = audioCtx.destination;// etc.

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

Specification
Web Audio API
# AudioContext

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

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp