AudioContext
インターフェイスはAudioNode
によって表現され、一緒にリンクした音声モジュールから作った音声処理グラフを表します。音声コンテキストはコンテキストを含むノードの作成と音声処理もしくはデコードの実行の両方を制御します。コンテキスト内部で全てのことが起こるので、何かをする前に AudioContext
を作る必要があります。
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 11.666666666666666%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 70" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/ja/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/ja/docs/Web/API/AudioContext" target="_top"><rect x="151" y="1" width="120" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="211" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">AudioContext</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
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 の定義 |
草案 |
ブラウザーの互換性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.