AudioContext

この記事は翻訳が完了していません。 この記事の翻訳にご協力ください

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.

仕様

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

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
AudioContextChrome 完全対応 35
完全対応 35
未対応 14 — 57
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 44
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 6
接頭辞付き
完全対応 6
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
WebView Android 完全対応 ありChrome Android 完全対応 35
完全対応 35
未対応 18 — 57
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 26Opera Android 完全対応 22
完全対応 22
未対応 14 — 43
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 6
接頭辞付き
完全対応 6
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Samsung Internet Android 完全対応 3.0
完全対応 3.0
未対応 1.0 — 7.0
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
AudioContext() constructorChrome 完全対応 35
補足
完全対応 35
補足
補足 Prior to Chrome 66, 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.
未対応 14 — 57
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 22
補足
完全対応 22
補足
補足 Prior to Opera 53, each tab is limited to 6 audio contexts in Opera; attempting to create more will throw a DOMException. For details see Per-tab audio context limitation in Chrome.
補足 If latencyHint isn't valid, Opera throws a TypeError exception. See Non-standard exceptions in Chrome for details.
未対応 15 — 44
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 6.1
接頭辞付き
完全対応 6.1
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
WebView Android 完全対応 37
補足
完全対応 37
補足
補足 Prior to WebView 66, each tab is limited to 6 audio contexts in WebView; attempting to create more will throw a DOMException. For details see Per-tab audio context limitation in Chrome.
補足 If latencyHint isn't valid, WebView throws a TypeError exception. See Non-standard exceptions in Chrome for details.
未対応 ≤37 — 44
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Chrome Android 完全対応 35
補足
完全対応 35
補足
補足 Prior to Chrome 66, 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.
未対応 18 — 57
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 26Opera Android 完全対応 22
補足
完全対応 22
補足
補足 Prior to Opera Android 47, each tab is limited to 6 audio contexts in Opera; attempting to create more will throw a DOMException. For details see Per-tab audio context limitation in Chrome.
補足 If latencyHint isn't valid, Opera throws a TypeError exception. See Non-standard exceptions in Chrome for details.
未対応 14 — 43
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 6.1
接頭辞付き
完全対応 6.1
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Samsung Internet Android 完全対応 3.0
補足
完全対応 3.0
補足
補足 Prior to Samsung Internet 9.0, each tab is limited to 6 audio contexts in Samsung Internet; attempting to create more will throw a DOMException. For details see Per-tab audio context limitation in Chrome.
補足 If latencyHint isn't valid, Samsung Internet throws a TypeError exception. See Non-standard exceptions in Chrome for details.
未対応 1.0 — 7.0
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
baseLatency
実験的
Chrome 完全対応 58Edge 完全対応 79Firefox 完全対応 70IE 未対応 なしOpera 完全対応 45Safari 未対応 なしWebView Android 完全対応 58Chrome Android 完全対応 58Firefox Android 未対応 なしOpera Android 完全対応 43Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.0
closeChrome 完全対応 42Edge 完全対応 14Firefox 完全対応 40IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 43Chrome Android 完全対応 43Firefox Android 完全対応 40Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 4.0
createMediaElementSourceChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 1.0
createMediaStreamDestinationChrome 完全対応 14Edge 完全対応 79Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 1.0
createMediaStreamSourceChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 1.0
createMediaStreamTrackSourceChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 68
補足
完全対応 68
補足
補足 Firefox 68 implements the updated standard's definition of the "first" audio track; now the first track is the one whose ID comes first lexicographically.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 68
補足
完全対応 68
補足
補足 Firefox 68 implements the updated standard's definition of the "first" audio track; now the first track is the one whose ID comes first lexicographically.
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
getOutputTimestamp
実験的
Chrome 完全対応 57Edge 完全対応 79Firefox 完全対応 70IE 未対応 なしOpera 完全対応 44Safari 未対応 なしWebView Android 完全対応 57Chrome Android 完全対応 57Firefox Android 未対応 なしOpera Android 完全対応 43Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.0
outputLatencyChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 70IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
resumeChrome 完全対応 41Edge 完全対応 14Firefox 完全対応 40IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 41Firefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 4.0
suspendChrome 完全対応 43Edge 完全対応 14Firefox 完全対応 40IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 43Chrome Android 完全対応 43Firefox Android 完全対応 40Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 4.0

凡例

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

参考