BaseAudioContext
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
BaseAudioContext
はウェブオーディオ API のインターフェイスで、 AudioContext
と OfflineAudioContext
で表されるオンラインとオフラインのオーディオ処理グラフの基本定義として動作します。 BaseAudioContext
を直接使用することはありません。これらの 2 つの継承されたインターフェイスのいずれかを介して、その機能を使用することになります。
BaseAudioContext
はイベントのターゲットとなることができるので、 EventTarget
インターフェイスを実装しています。
インスタンスプロパティ
BaseAudioContext.audioWorklet
読取専用 安全なコンテキスト用-
AudioWorklet
オブジェクトを返します。これはAudioNode
を JavaScript コードで作成および管理するために使用することができ、AudioWorkletProcessor
インターフェイスを実装していて、バックグラウンドで実行して音声データを処理することができます。 BaseAudioContext.currentTime
読取専用-
スケジューリングに使用される秒単位で増加するハードウェア時間を表す倍精度浮動小数点値を返します。
0
から始まります。 BaseAudioContext.destination
読取専用-
このコンテキストですべての音声の最終的な出力先を表す
AudioDestinationNode
を返します。 オーディオレンダリングデバイスと考えることができます。 BaseAudioContext.listener
読取専用-
三次元空間化に使用される
AudioListener
オブジェクトを返します。 BaseAudioContext.sampleRate
読取専用-
このコンテキスト内のすべてのノードで使用されるサンプリングレート(サンプル/秒)を単精度浮動小数点値で返します。
AudioContext
のサンプリングレートを変更することはできません。 BaseAudioContext.state
読取専用-
現在の
AudioContext
の状態を返します。
インスタンスメソッド
EventTarget
インターフェイスから継承しているメソッドもあります。
BaseAudioContext.createAnalyser()
-
AnalyserNode
を作成します。これは音声の時間と周波数データを公開し、データの可視化などに利用できます。 BaseAudioContext.createBiquadFilter()
-
BiquadFilterNode
を作成します。これはハイパス、ローパス、バンドパスなどの一般的なフィルター型として設定可能な 2 次フィルターを表します。 BaseAudioContext.createBuffer()
-
新しい空の
AudioBuffer
オブジェクトを作成します。これにデータを入力してAudioBufferSourceNode
で再生できます。 BaseAudioContext.createBufferSource()
-
AudioBufferSourceNode
を作成します。これはAudioBuffer
オブジェクトに含まれる音声データを再生または操作するために使用することができます。AudioBuffer
はAudioContext.createBuffer()
によって生成されるか、オーディオトラックのデコードに成功するとAudioContext.decodeAudioData()
によって返されます。 BaseAudioContext.createConstantSource()
-
ConstantSourceNode
オブジェクトを作成します。これはすべてのサンプルが同じ値を持つモノラル(1 チャンネル)音声信号を連続的に出力する音声ソースです。 BaseAudioContext.createChannelMerger()
-
ChannelMergerNode
を作成します。これは複数の音声ストリームのチャンネルを 1 つの音声ストリームに結合するために使用します。 BaseAudioContext.createChannelSplitter()
-
ChannelSplitterNode
を作成します。これは音声ストリームの個々のチャンネルにアクセスし、それらを個別に処理するために使用されます。 BaseAudioContext.createConvolver()
-
ConvolverNode
を作成します。これはオーディオグラフにコンボリューション効果(残響効果など)を適用するために使用されます。 BaseAudioContext.createDelay()
-
DelayNode
を作成します。これは入力される音声信号を一定時間遅延させるために使用します。このノードは、ウェブオーディオ API グラフでフィードバックループを作成する際にも便利です。 BaseAudioContext.createDynamicsCompressor()
-
DynamicsCompressorNode
を作成します。これは音声信号に音響圧縮をかけるために使用します。 BaseAudioContext.createGain()
-
GainNode
を作成します。これはオーディオグラフの全体的な音量を制御するために使用することができます。 BaseAudioContext.createIIRFilter()
-
IIRFilterNode
を作成します。これは複数の異なる一般的なフィルター種別として設定可能な二次フィルターを表します。 BaseAudioContext.createOscillator()
-
OscillatorNode
を作成します。これは周期的な波形を表すソースです。基本的には音程を生成します。 BaseAudioContext.createPanner()
-
PannerNode
を作成します。これは入力されるオーディオストリームを三次元空間で空間化するために使用されます。 BaseAudioContext.createPeriodicWave()
-
PeriodicWave
を作成します。これは、OscillatorNode
の出力を決定するために使用できる、周期的な波形を定義するために使用します。 BaseAudioContext.createScriptProcessor()
非推奨;-
ScriptProcessorNode
を作成します。これは JavaScript で直接音声処理を行うために使用します。 BaseAudioContext.createStereoPanner()
-
StereoPannerNode
を作成します。これは音声ソースにステレオパニングを適用するために使用することができます。 BaseAudioContext.createWaveShaper()
-
非線形歪み効果を実装するために使用される
WaveShaperNode
を作成します。 BaseAudioContext.decodeAudioData()
-
ArrayBuffer
に格納された音声ファイルのデータを非同期にデコードします。この場合、ArrayBuffer
は通常XMLHttpRequest
のresponse
属性にresponseType
を設定した後に読み込まれます。このメソッドは完全なファイルに対してのみ動作し、音声ファイルの断片に対しては動作しません。
イベント
statechange
-
状態変化メソッド(
AudioContext.suspend
,AudioContext.resume
,AudioContext.close
)のいずれかが呼び出されたことによってAudioContext
の状態が変化したときに発生します。
例
基本的なオーディオコンテキストの宣言:
const audioContext = new AudioContext();
クロスブラウザー対応の変化形:
const AudioContext = window.AudioContext || window.webkitAudioContext;
const audioContext = new AudioContext();
const oscillatorNode = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const finish = audioContext.destination;
仕様書
Specification |
---|
Web Audio API # BaseAudioContext |
ブラウザーの互換性
BCD tables only load in the browser