OscillatorNode: свойство type
Базовая Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2021 года.
Свойство type интерфейса OscillatorNode определяет форму волны, которую будет генерировать генератор. Доступны несколько общих форм волны, а также возможность указать произвольную форму волны. Форма волны влияет на звучание.
Значение
Строка, определяющая форму волны генератора. Доступные значения:
sine-
Синусоидальная волна. Это значение по умолчанию.
square-
Квадратная волна с коэффициентом заполнения 0,5; то есть, сигнал «высокий» в течение половины каждого периода.
sawtooth-
Пилообразная волна.
triangle-
Треугольная волна.
custom-
Пользовательская форма волны. Вы никогда не устанавливаете
typeвcustomвручную; вместо этого используйте методsetPeriodicWave()для предоставления данных, представляющих форму волны. Это автоматически задастtypeзначениеcustom.
Исключения
-
InvalidStateErrorDOMException -
Бросается, если было указано значение
custom. Для установки пользовательской формы волны просто вызовитеsetPeriodicWave(). Это автоматически задаст для вас значение type.
Примеры
Следующий пример демонстрирует базовое использование AudioContext для создания узла генератора. Для примера применения ознакомьтесь с нашим демо «Гневный терменвокс» (см. 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.start();
Спецификации
| Спецификация |
|---|
| Web Audio API # dom-oscillatornode-type |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
type |
20 | 12 | 25 | 15 | 6 | 25 | 25 | 14 | 6 | 1.5 | 4.4 |
См. также
© 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/type