Spec-Zone.ru › Web APIs

AudioWorkletGlobalScope: метод registerProcessor()

Базовая поддержка Широко поддерживается

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

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

Метод registerProcessor интерфейса AudioWorkletGlobalScope регистрирует конструктор класса, производного от интерфейса AudioWorkletProcessor, под указанным именем.

Синтаксис

registerProcessor(name, processorCtor)

Параметры

name

Строка, представляющая имя, под которым будет зарегистрирован процессор.

processorCtor

Конструктор класса, производного от AudioWorkletProcessor.

Примечание: Пара { name: constructor } сохраняется внутри AudioWorkletGlobalScope после регистрации процессора. К имени необходимо обратиться при создании AudioWorkletNode, основанного на зарегистрированном процессоре. Внутренне создается новый процессор с заданным именем и связывается с новым узлом.

Возвращаемое значение

None (undefined).

Исключения

NotSupportedError DOMException

Выбрасывается в следующих случаях:

  • Имя (name) является пустой строкой.
  • Конструктор с заданным именем уже зарегистрирован. Запись с одинаковым именем дважды запрещена.
TypeError

Выбрасывается в следующих случаях:

  • processorCtor не является вызываемым конструктором.
  • Свойство parameterDescriptors конструктора существует и не возвращает массив объектов на основе AudioParamDescriptor.

Примеры

В этом примере мы создаем пользовательский AudioWorkletNode, который выводит тишину.

Сначала нужно определить пользовательский AudioWorkletProcessor и зарегистрировать его. Обратите внимание, что это следует делать в отдельном файле.

// test-processor.js
class TestProcessor extends AudioWorkletProcessor {
  process(inputs, outputs, parameters) {
    return true;
  }
}

registerProcessor("test-processor", TestProcessor);

Далее, в главном скриптовом файле мы загрузим процессор, создадим экземпляр AudioWorkletNode — передав ему имя процессора, которое мы использовали при вызове registerProcessor — и подключим его к аудио графику.

const audioContext = new AudioContext();
await audioContext.audioWorklet.addModule("test-processor.js");
const node = new AudioWorkletNode(audioContext, "test-processor");
node.connect(audioContext.destination);

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

Спецификация
Web Audio API
# dom-audioworkletglobalscope-registerprocessor

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
registerProcessor 66 79 76 53 14.1 66 79 47 14.5 9.0 66

См. также

  • Использование 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/AudioWorkletGlobalScope/registerProcessor

Spec-Zone.ru

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