この翻訳は不完全です。英語から この記事を翻訳 してください。

AudioContext インターフェースはAudioNodeとして表現されるオーディオモジュールから構成されるオーディオ処理グラフを表します。オーディオコンテキストはオーディオ処理やデコードを行うノードの作成を制御します。 Web Audioで何かする前に AudioContext を作成する必要があります。全てのできごとはコンテキストの中で起こるのです。

Constructor

AudioContext()
Creates and returns a new AudioContext object.

プロパティ

Also inherits properties from its parent interface, BaseAudioContext.

AudioContext.baseLatency 読取専用
Returns the number of seconds of processing latency incurred by the AudioContext passing the audio from the AudioDestinationNode to the audio subsystem.
AudioContext.outputLatency 読取専用
Returns an estimation of the output latency of the current audio context.

メソッド

BaseAudioContext インターフェースからのメソッドも実装しています。

AudioContext.close()
オーディオコンテキストを閉じて、使っていたシステムのオーディオリソースを全て解放します。
AudioContext.createMediaElementSource()
HTMLMediaElementに関連付けられたMediaElementAudioSourceNodeを生成します。これは<video><audio>要素の再生と編集で使います。
AudioContext.createMediaStreamSource()
MediaStreamで表された、ローカルコンピュータのマイクなどから来るオーディオストリームに関連付けられたMediaStreamAudioSourceNodeを生成します。
AudioContext.createMediaStreamDestination()
MediaStreamで表された、ローカルファイルや他のコンピュータから送られるオーディオストリームに関連付けられたMediaStreamAudioDestinationNodeを生成します
AudioContext.createMediaStreamTrackSource()
Creates a MediaStreamTrackAudioSourceNode associated with a MediaStream representing an media stream track.
AudioContext.getOutputTimestamp()
Returns a new AudioTimestamp object containing two correlated context's audio stream position values.
AudioContext.resume()
一時停止されたオーディオコンテキストの時間の流れを再開します。
AudioContext.suspend()
オーディオコンテキストの時間の流れを、一時的に音声ハードウェアへのアクセスとプロセスのCPU/バッテリーの使用を減らすことで一時停止します。

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

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.

仕様

Specification Status Comment
Web Audio API
AudioContext の定義
草案  

ブラウザーの互換性

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応

35

14 — 57 webkit

あり25 なし

22

15 — 44 webkit

6 webkit
AudioContext() constructor551 2 あり25 なし42 あり webkit
baseLatency58 ? なし なし45 なし
outputLatency なし ? なし なし なし なし
close42 ?40 なし あり ?
createMediaElementSource141225 なし156
createMediaStreamSource141225 なし156
createMediaStreamDestination14 あり25 なし156
createMediaStreamTrackSource ? ? なし なし ? なし
getOutputTimestamp57 ? なし なし44 なし
suspend43 ?40 なし あり ?
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 あり

35

18 — 57 webkit

あり26

22

15 — 44 webkit

?

あり

あり — 7.0 webkit

AudioContext() constructor55551 2 ?2542 ?6.0
baseLatency5858 ? なし45 なし なし
outputLatency なし なし ? なし なし ? なし
close4343 ?40 あり ?4.0
createMediaElementSource あり18 あり2615 ? あり
createMediaStreamSource あり18 あり2615 ? あり
createMediaStreamDestination あり18 あり2615 ? あり
createMediaStreamTrackSource ? ? ? なし ? なし ?
getOutputTimestamp5757 ? なし44 なし7.0
suspend4343 ?40 あり ?4.0

1. Each tab is limited to 6 audio contexts in Chrome; attempting to create more will throw a DOMException. For details see Per-tab audio context limitation in Chrome.

2. If latencyHint isn't valid, Chrome throws a TypeError exception. See Non-standard exceptions in Chrome for details.

参考

ドキュメントのタグと貢献者

タグ: 
このページの貢献者: woodmix, maruhiro, niusounds, fscholz
最終更新者: woodmix,