AudioContext

AudioContext インターフェイスはAudioNodeによって表現され、一緒にリンクした音声モジュールから作った音声処理グラフを表します。音声コンテキストはコンテキストを含むノードの作成と音声処理もしくはデコードの実行の両方を制御します。コンテキスト内部で全てのことが起こるので、何かをする前に AudioContext を作る必要があります。

Constructor

AudioContext()
AudioContext オブジェクトを新しく作成し、返します。

プロパティ

親インターフェイスBaseAudioContext (en-US)からプロパティを継承します。

AudioContext.baseLatency (en-US) 読取専用
AudioDestinationNodeから音声サブシステムまでの音声を渡すAudioContextによって起きる処理レイテンシーの秒数を返します。
AudioContext.outputLatency (en-US) 読取専用
現在の音声コンテキストの出力レイテンシーの見積もりを返します。

メソッド

親インターフェイスBaseAudioContext からメソッドを継承します。

AudioContext.close()
任意のシステム音声リソースをリリースするために、音声コンテキストを閉じます。
AudioContext.createMediaElementSource()
HTMLMediaElementと関連付けられたMediaElementAudioSourceNode (en-US)を生成します。これは<video>要素もしくは<audio>要素からの再生や操作をするために使うことができます。
AudioContext.createMediaStreamSource()
ローカルのコンピューターのマイクもしくは他のソースから来る音声ストリームを表現しているMediaStreamと関連付けられたMediaStreamAudioSourceNode (en-US)を生成します。
AudioContext.createMediaStreamDestination()
ローカルファイルに保存されたものかその他のコンピューターに送信された音声ストリームを表しているMediaStreamと関連付けられたMediaStreamAudioDestinationNode (en-US)を生成します
AudioContext.createMediaStreamTrackSource() (en-US)
メディアストリームトラックを表しているMediaStreamと関連づけられたMediaStreamTrackAudioSourceNode (en-US)を生成します。
AudioContext.getOutputTimestamp() (en-US)
二つの関連づけられたコンテキストの音声ストリームの位置の値を含んでいる AudioTimestamp オブジェクトを新しく返します。
AudioContext.suspend()
一時的に音声ハードウェアアクセスを停止し、プロセスの CPU/バッテリー使用を減らすために、音声コンテキストの時間の進行を中断します。

非推奨メソッド

AudioContext.resume()
あらかじめ中断させられた音声コンテキストの時間の進行を返します。

注意: resume() メソッドはまだ利用することができます。このメソッドはBaseAudioContext (en-US)インターフェイス(BaseAudioContext.resume() (en-US)を見てください)上で現在定義されています。したがって、AudioContextインターフェイスとOfflineAudioContextインターフェイスの両方でアクセスすることができます。

基本的な音声コンテキストの作成方法:

var audioCtx = new AudioContext();

クロスブラウザー対応版:

var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();

var oscillatorNode = audioCtx.createOscillator();
var gainNode = audioCtx.createGain();
var finish = audioCtx.destination;
// etc.

仕様

仕様書 策定状況 コメント
Web Audio API
AudioContext の定義
勧告

ブラウザーの互換性

BCD tables only load in the browser

参考