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

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

Constructor

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

プロパティ

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

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

メソッド

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

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

非推奨メソッド

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

注意: resume() メソッドはまだ利用することができます。このメソッドはBaseAudioContextインターフェース(BaseAudioContext.resume()を見てください)上で現在定義されています。したがって、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.

仕様

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

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 35
完全対応 35
未対応 14 — 57
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 ありFirefox 完全対応 25IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 44
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 6
接頭辞付き
完全対応 6
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
WebView Android 完全対応 ありChrome Android 完全対応 35
完全対応 35
未対応 18 — 57
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge Mobile 完全対応 ありFirefox Android 完全対応 26Opera Android 完全対応 22
完全対応 22
未対応 15 — 44
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS ? Samsung Internet Android 完全対応 あり
完全対応 あり
未対応 ? — 7.0
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
AudioContext() constructorChrome 完全対応 55
補足
完全対応 55
補足
補足 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.
補足 If latencyHint isn't valid, Chrome throws a TypeError exception. See Non-standard exceptions in Chrome for details.
Edge 完全対応 ありFirefox 完全対応 25IE 未対応 なしOpera 完全対応 42Safari 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
WebView Android 完全対応 55Chrome Android 完全対応 55
補足
完全対応 55
補足
補足 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.
補足 If latencyHint isn't valid, Chrome throws a TypeError exception. See Non-standard exceptions in Chrome for details.
Edge Mobile ? Firefox Android 完全対応 25Opera Android 完全対応 42Safari iOS ? Samsung Internet Android 完全対応 6.0
baseLatency
実験的
Chrome 完全対応 58Edge ? Firefox 未対応 なしIE 未対応 なしOpera 完全対応 45Safari 未対応 なしWebView Android 完全対応 58Chrome Android 完全対応 58Edge Mobile ? Firefox Android 未対応 なしOpera Android 完全対応 45Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
outputLatencyChrome 未対応 なしEdge ? Firefox 未対応 なしIE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしEdge Mobile ? Firefox Android 未対応 なしOpera Android 未対応 なしSafari iOS ? Samsung Internet Android 未対応 なし
closeChrome 完全対応 42Edge ? Firefox 完全対応 40IE 未対応 なしOpera 完全対応 ありSafari ? WebView Android 完全対応 43Chrome Android 完全対応 43Edge Mobile ? Firefox Android 完全対応 40Opera Android 完全対応 ありSafari iOS ? Samsung Internet Android 完全対応 4.0
createMediaElementSourceChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Edge Mobile 完全対応 ありFirefox Android 完全対応 26Opera Android 完全対応 15Safari iOS ? Samsung Internet Android 完全対応 あり
createMediaStreamSourceChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Edge Mobile 完全対応 ありFirefox Android 完全対応 26Opera Android 完全対応 15Safari iOS ? Samsung Internet Android 完全対応 あり
createMediaStreamDestinationChrome 完全対応 14Edge 完全対応 ありFirefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Edge Mobile 完全対応 ありFirefox Android 完全対応 26Opera Android 完全対応 15Safari iOS ? Samsung Internet Android 完全対応 あり
createMediaStreamTrackSource
実験的
Chrome ? Edge ? Firefox 未対応 なしIE 未対応 なしOpera ? Safari 未対応 なしWebView Android ? Chrome Android ? Edge Mobile ? Firefox Android 未対応 なしOpera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
getOutputTimestamp
実験的
Chrome 完全対応 57Edge ? Firefox 未対応 なしIE 未対応 なしOpera 完全対応 44Safari 未対応 なしWebView Android 完全対応 57Chrome Android 完全対応 57Edge Mobile ? Firefox Android 未対応 なしOpera Android 完全対応 44Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.0
suspendChrome 完全対応 43Edge ? Firefox 完全対応 40IE 未対応 なしOpera 完全対応 ありSafari ? WebView Android 完全対応 43Chrome Android 完全対応 43Edge Mobile ? Firefox Android 完全対応 40Opera Android 完全対応 ありSafari iOS ? Samsung Internet Android 完全対応 4.0

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

参考

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

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