Spec-Zone.ru › Web APIs

Узел осциллятора

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

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

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

Интерфейс OscillatorNode представляет периодическую форму волны, например, синусоиду. Это модуль обработки аудио AudioScheduledSourceNode, который создаёт заданную частоту волны определённой формы — по сути, постоянный тон.

EventTarget AudioNode AudioScheduledSourceNode Узел осциллятора
Количество входов 0
Количество выходов 1
Режим количества каналов max
Количество каналов 2 (не используется в режиме по умолчанию)
Интерпретация каналов speakers

Конструктор

OscillatorNode()

Создаёт новый экземпляр объекта OscillatorNode, необязательно предоставив объект, определяющий значения по умолчанию для свойств узла свойств. В качестве альтернативы можно использовать метод-фабрику BaseAudioContext.createOscillator(); см. Создание узла AudioNode.

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

Также наследует свойства от родителя, AudioScheduledSourceNode.

OscillatorNode.frequency

Параметр a-rate AudioParam, представляющий частоту колебаний в герцах (хотя возвращаемое значение AudioParam является только для чтения, значение, которое оно представляет, нет). Значение по умолчанию составляет 440 Гц (стандартная нота ля).

OscillatorNode.detune

Параметр a-rate AudioParam, представляющий девиацию колебаний в центах (хотя возвращаемое значение AudioParam является только для чтения, значение, которое оно представляет, нет). Значение по умолчанию — 0.

OscillatorNode.type

Строка, определяющая форму волны для воспроизведения; может иметь одно из стандартных значений или custom для использования PeriodicWave для описания пользовательской формы волны. Разные волны дают разные тоны. Стандартные значения — "sine", "square", "sawtooth", "triangle" и "custom". По умолчанию "sine".

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

Также наследует методы от родителя, AudioScheduledSourceNode.

OscillatorNode.setPeriodicWave()

Устанавливает PeriodicWave, который описывает периодическую форму волны, которая будет использоваться вместо стандартных форм волн; вызов этого метода устанавливает type в custom.

AudioScheduledSourceNode.start()

Устанавливает точное время начала воспроизведения тона.

AudioScheduledSourceNode.stop()

Устанавливает время остановки воспроизведения тона.

События

Также наследует события от родителя, AudioScheduledSourceNode.

Примеры

В следующем примере показано базовое использование AudioContext для создания узла осциллятора и начала воспроизведения тона на нём. Для примера применения ознакомьтесь с нашей демонстрацией «Violent Theremin» (см. app.js для соответствующего кода)).

// create web audio api context
const audioCtx = new AudioContext();

// create Oscillator node
const oscillator = audioCtx.createOscillator();

oscillator.type = "square";
oscillator.frequency.setValueAtTime(440, audioCtx.currentTime); // value in hertz
oscillator.connect(audioCtx.destination);
oscillator.start();

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

Спецификация
Web Audio API
# Узел осциллятора

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
OscillatorNode 55 79 53 42 14.1 55 53 42 14.5 6.0 55
OscillatorNode 20 12 25 15 6 25 25 14 6 1.5 4.4
detune 20 12 25 15 6 25 25 14 6 1.5 4.4
frequency 20 12 25 15 6 25 25 14 6 1.5 4.4
setPeriodicWave 30 12 25 17 8 30 25 18 8 2.0 ≤37
type 20 12 25 15 6 25 25 14 6 1.5 4.4

См. также

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

© 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/OscillatorNode

Spec-Zone.ru

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