mozilla
Your Search Results

    AudioContext

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

    AudioContext はイベントのターゲットとなりえるので、 EventTarget インターフェースを実装します。

    プロパティ

    AudioContext.currentTime 読取専用
    スケジューリングに使用する単純増加するハードウェア時間の double 小数値を返します。単位は秒です。0から始まり、止めたり戻したりすることはありません。
    AudioContext.destination 読取専用
    コンテキストの中の全てのオーディオが行き着く先を表すAudioDestinationNode を返します。オーディオレンダリングデバイスと考えることができます。
    AudioContext.listener 読取専用
    3Dポジショニングで利用する AudioListener オブジェクトを返します。
    AudioContext.sampleRate 読取専用
    コンテキスト内の全てのノードで使われるサンプルレート(1秒あたりのサンプル数)を表す float 小数値を返します。AudioContext のサンプルレートは変更できません。
    AudioContext.mozAudioChannelType 読取専用
    Firefox OS デバイスで、AudioContextで再生される音声を再生するチャンネルを取得するために使えます。

    メソッド

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

    AudioContext.createBuffer()
    新規の空のAudioBufferオブジェクトを生成します。そこにデータを書きこめば、AudioBufferSourceNodeで再生できます。
    AudioContext.createBufferSource()
    AudioBufferオブジェクトに書き込まれた音声データを再生するAudioBufferSourceNodeを生成します。AudioBufferAudioContext.createBufferを使った場合や、AudioContext.decodeAudioDataでオーディオトラックをデコードしたときに生成されます。
    AudioContext.createMediaElementSource()
    HTMLMediaElementに関連付けられたMediaElementAudioSourceNodeを生成します。これは<video><audio>要素の再生と編集で使います。
    AudioContext.createMediaStreamSource()
    MediaStreamで表された、ローカルコンピュータのマイクなどから来るオーディオストリームに関連付けられたMediaStreamAudioSourceNodeを生成します。
    AudioContext.createMediaStreamDestination()
    MediaStreamで表された、ローカルファイルや他のコンピュータから送られるオーディオストリームに関連付けられたMediaStreamAudioDestinationNodeを生成します
    AudioContext.createScriptProcessor()
    Javascriptで音声を直接操作するScriptProcessorNodeを生成します。
    AudioContext.createStereoPanner()
    音源のステレオパンニングを行うStereoPannerNodeを生成します。
    AudioContext.createAnalyser()
    音声の時間と周波数を解析するAnalyserNodeを生成します。これはデータの可視化などで使えます。
    AudioContext.createBiquadFilter()
    いくつかの一般的なフィルタ(ハイパス、ローパス、バンドパスなど)を設定できる二次フィルターを表すBiquadFilterNodeを生成します。
    AudioContext.createChannelMerger()
    複数のオーディオストリームを1つに混合するChannelMergerNodeを生成します。
    AudioContext.createChannelSplitter()
    オーディオストリームを個別に処理するためにチャンネルを分離するChannelSplitterNodeを生成します。
    AudioContext.createConvolver()
    オーディオグラフに、例えばリハーブ効果などの畳み込み効果を適用するConvolverNodeを生成します。
    AudioContext.createDelay()
    入力音声を一定時間遅らせるDelayNodeを生成します。このノードはWebオーディオグラフでフィードバックループを生成する場合にも有効です。
    AudioContext.createDynamicsCompressor()
    音声信号にコンプレッサーを適用するDynamicsCompressorNodeを生成します。
    AudioContext.decodeAudioData()
    ArrayBufferのオーディオファイルデータを非同期にデコードします。この場合、ArrayBufferには、通常はXMLHttpRequestresponseTypearraybufferを設定してresponse属性から読み込みます。このメソッドが扱えるのは、完全なファイルのみで、オーディオファイルの断片は扱えません。
    AudioContext.createGain()
    音声の全体的なボリュームを操作するGainNodeを生成します。
    AudioContext.createOscillator()
    周期的な波形を出力するOscillatorNodeを生成します。これは基礎的な音源です。
    AudioContext.createPanner()
    3次元空間での音の位置と振る舞いを表すPannerNodeを生成します。
    AudioContext.createPeriodicWave()
    周期的な波形を定義するPeriodicWaveを生成します。これはOscillatorNodeの出力を決めるために使います。
    AudioContext.createWaveShaper()
    非線形ディストーションエフェクトの実装に使うWaveShaperNodeを生成します。
    AudioContext.createAudioWorker()
    AudioWorkerNodeを生成します。これは音声を直接生成、処理、解析するwebワーカースレッドと相互作用します。2014年8月29日に仕様が追加されましたが、これを実装したブラウザはまだありません。

    廃止メソッド

    AudioContext.createJavaScriptNode()
    JavaScriptで音声を直接処理するJavaScriptNodeを生成します。このメソッドは廃止され、AudioContext.createScriptProcessor()に置き換えられました。
    AudioContext.createWaveTable()
    周期的な波形を定義するWaveTableNodeを生成します。このメソッドは廃止され、AudioContext.createPeriodicWave()に置き換えられました。

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

    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
    The definition of 'AudioContext' in that specification.
    草案  

    ブラウザーの互換性

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
    Basic support 10.0webkit
    35 (unprefixed)
    25.0 (25.0)  未サポート 15.0webkit
    22 (unprefixed)
    6.0webkit
    createStereoPanner() 42.0 37.0 (37.0)  未サポート 未サポート 未サポート
    Feature Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
    Basic support 未サポート 37.0 (37.0)  2.2 未サポート 未サポート 未サポート (有)

    参考

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

    タグ: 
    Contributors to this page: fscholz, niusounds, maruhiro
    最終更新者: maruhiro,
    サイドバーを隠す