Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. Web API
  3. AudioWorkletNode

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

AudioWorkletNode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2021年4月⁩.

メモ:このインターフェイスは保護されたコンテキストの外でも使用可能ですが、BaseAudioContext.audioWorklet プロパティはそうではありません。そのため、独自のAudioWorkletProcessor は保護されたコンテキストの外では使用できません。

ウェブオーディオ APIAudioWorkletNode インターフェイスは、ユーザー定義のAudioNode (他のノードとともに音声ルーティンググラフに接続できる) の基底クラスを表します。これは対応するAudioWorkletProcessor (ウェブオーディオレンダリングスレッドで実際の音声処理を行う) を持ちます。

EventTarget AudioNode AudioWorkletNode

コンストラクター

AudioWorkletNode()

新しいAudioWorkletNode オブジェクトのインスタンスを作成します。

インスタンスプロパティ

親のAudioNode からもプロパティを継承します。

AudioWorkletNode.port読取専用

ノードと対応するAudioWorkletProcessor の間での双方向通信に使用するMessagePort を返します。もう一方の端は、処理器のport プロパティで参照できます。

AudioWorkletNode.parameters読取専用

AudioParamMap を返します。これはAudioParam オブジェクトのコレクションです。対応するAudioWorkletProcessor の生成中に生成されます。このAudioWorkletProcessor に静的なparameterDescriptors ゲッターがある場合、このゲッターが返すAudioParamDescriptor の配列がこのAudioWorkletNode においてAudioParam オブジェクトを生成するのに用いられます。この仕組みにより、AudioWorkletNode からアクセスできる独自のAudioParam オブジェクトを生成できます。そして、対応するAudioWorkletProcessor でこれらの値を使用できます。

イベント

processorerror

対応するAudioWorkletProcessor でエラーが投げられた時発火します。発火した後は、処理器、そして対応するノードはずっと無音を出力します。

インスタンスメソッド

親のAudioNode からメソッドを継承します。

AudioWorkletNode インターフェイスは自身のメソッドを定義していません。

この例では、ランダムノイズを出力する独自のAudioWorkletNode を生成します。

まず、ランダムノイズを出力する独自のAudioWorkletProcessor を定義する必要があります。注意点として、これは個別のファイルで定義してください。

js
// random-noise-processor.jsclass RandomNoiseProcessor extends AudioWorkletProcessor {  process(inputs, outputs, parameters) {    const output = outputs[0];    output.forEach((channel) => {      for (let i = 0; i < channel.length; i++) {        channel[i] = Math.random() * 2 - 1;      }    });    return true;  }}registerProcessor("random-noise-processor", RandomNoiseProcessor);

そして、メインスクリプトファイルで処理器をロードし、この処理器の名前を渡してAudioWorkletNode のインスタンスを作成し、作成したノードを音声グラフに接続します。

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

仕様書

Specification
Web Audio API
# AudioWorkletNode

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp