AudioNode

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.


AudioNode это общий интерфейс для описания модулей обработки аудио таких как источники звука (например HTML элементы <audio> или <video>), генераторы звука (например OscillatorNode и т.п.), приемники звука для модулей производящих обработку звука (например BiquadFilterNode или ConvolverNode), или регуляторы громкости (например GainNode). 

AudioNodes participating in an AudioContext create a audio routing graph.

AudioNode имеет входы и выходы, каждый с заданным количеством каналов. AudioNode без входов в с одним или несколькими выходами называются источниками (source node). Результаты обработки передаются от одного AudioNode к другому, при этом каждый узел считывает только свой вход, производит обработку и представляет результат на свой выход, или просто пропускает аудио через себя (например AnalyserNode где результат представляется отдельно).

Разные узлы могут быть связаны в граф обработки. Граф помещается в AudioContext. Один AudioNode может принадлежать только одному AudioContext. В общем, узлы наследуют свойства и методы AudioNode, но они могут также и определять собственный функционал.Смотрите описания конкретных узлов на страницах этих узлов перечисленных на главной странице Web Audio API.

Note: An AudioNode can be target of events, therefore it implements the EventTarget interface.

Свойства

AudioNode.context Только для чтения
Возвращает связанный AudioContext, это объект, представляющий граф, в котором находится данный узел.
AudioNode.numberOfInputs Только для чтения
Возвращает количество входов узла. Узлы определенные как источники имеют numberOfInputs равное 0.
AudioNode.numberOfOutputs Только для чтения
Возвращает количество выходов узла. Узны назначения — такие как AudioDestinationNode — имеют количество выходов равное 0.
AudioNode.channelCount
Это целое число, используемое для определения того, сколько каналов используются для up-mixing and down-mixing с любыми входами узла. Его использование точнее определяется значением AudioNode.channelCountMode.
AudioNode.channelCountMode
Это перечисление описывающее путь согласования каналов между входом и выходом.
AudioNode.channelInterpretation
Это перечисление описывающее каналы.Эта интерпретация описывает как будет происходить up-mixing and down-mixing.
ВОзможные значения "speakers" or "discrete".

Методы

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

AudioNode.connect(AudioNode)
Позволяет нам подключить один выход данного узла на один вход другого узла.
AudioNode.connect(AudioParam)
Позволяет нам подключить один выход данного узла на параметрический вход другого.
AudioNode.disconnect()
Позволяет нам отключить текущий узел от другого, уже подключенного узла.

Примеры

Этот простой фрагмент кода показывает создание некоторых аудио узлов, и как можно использовать свойства и методы AudioNode. Вы можете найти примеры такого использования на любом из примеров, на странице Web Audio API  (например Violent Theremin.)

var AudioContext = window.AudioContext || window.webkitAudioContext;

var audioCtx = new AudioContext();

var oscillator = audioCtx.createOscillator();
var gainNode = audioCtx.createGain();

oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);

oscillator.context;
oscillator.numberOfInputs;
oscillator.numberOfOutputs;
oscillator.channelCount;

Specifications

Specification Status Comment
Web Audio API
Определение 'AudioNode' в этой спецификации.
Рабочий черновик  

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 10.0webkit (Да) 25.0 (25.0) Нет 15.0webkit
22 (unprefixed)
(Да)
channelCount channelCountMode (Да) webkit ? (Да) Нет (Да) Нет
connect(AudioParam) (Да) webkit ? (Да) Нет (Да) Нет
Feature Android Edge Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? (Да) 25.0 1.2 ? ? ?
channelCount
channelCountMode
Нет ? (Да) (Да) Нет Нет Нет
connect(AudioParam) Нет ? (Да) (Да) Нет Нет Нет

See also

Метки документа и участники

 Внесли вклад в эту страницу: cjbars
 Обновлялась последний раз: cjbars,