AudioNode
=========


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

![AudioNodes participating in an AudioContext create a audio routing graph.](/ru/docs/Web/API/AudioNode/webaudiobasics.png)

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

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

**Примечание:** An `AudioNode` can be target of events, therefore it implements the `EventTarget` interface.

Свойства
--------

`AudioNode.context` Только для чтения 

Возвращает связанный `AudioContext`, это объект, представляющий граф, в котором находится данный узел.

`AudioNode.numberOfInputs` (en-US) Только для чтения 

Возвращает количество входов узла. Узлы определённые как источники имеют `numberOfInputs` равное 0.

`AudioNode.numberOfOutputs` (en-US) Только для чтения 

Возвращает количество выходов узла. Узлы назначения — такие как `AudioDestinationNode` (en-US) — имеют количество выходов равное 0.

`AudioNode.channelCount`

Это целое число, используемое для определения того, сколько каналов используются для up-mixing and down-mixing (en-US) с любыми входами узла. Его использование точнее определяется значением `AudioNode.channelCountMode` (en-US).

`AudioNode.channelCountMode` (en-US)

Это перечисление описывающее путь согласования каналов между входом и выходом.

`AudioNode.channelInterpretation` (en-US)

 Это перечисление описывающее каналы.Эта интерпретация описывает как будет происходить up-mixing and down-mixing (en-US).
 Возможные значения `"speakers"` or `"discrete"`.


Методы
------

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

`AudioNode.connect(AudioNode)` (en-US)

Позволяет нам подключить один выход данного узла на один вход другого узла.

`AudioNode.connect(AudioParam)`

Позволяет нам подключить один выход данного узла на параметрический вход другого.

`AudioNode.disconnect()` (en-US)

Позволяет нам отключить текущий узел от другого, уже подключённого узла.

Примеры
-------

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


```js
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;
```

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

| Specification |
| --- |
| Web Audio API # AudioNode |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Using the Web Audio API (en-US)