最終更新:2015-03-14 (土) 14:33:07 (1972d)  

webkitAudioContext
Top / webkitAudioContext

インターフェイス

var context = new webkitAudioContext();

SampleRate   = context.sampleRate; // サンプリングレートは固定(環境に応じてAPI側で決められてしまう)
Channles     = 2;
BufferLength = 1024;

// コールバック関数 (これが定期的に呼ばれる)
var onaudioprocess = function(e) {
    var outL = e.outputBuffer.getChannelData(0),
        outR = e.outputBuffer.getChannelData(1);

    // ここで処理する (Float32Arrayが返ってくる想定)
    var stream = gen.process();

    // ここで信号を書き込む
    for (var i = 0; i < BufferLength; i++) {
        outL[i] = outR[i] = stream[i];
    }

};

// ノードの作成と接続
var bufSrc = context.createBufferSource();
var jsNode = context.createJavaScriptNode(BufferLength, 2, Channels);

bufSrc.noteOn(0);       // iOSだと
bufSrc.connect(jsNode); // これが超重要

jsNode.onaudioprocess = onaudioprocess;
jsNode.connect(context.destination); // onaudioprocess が呼ばれるようになる

関数

関連

メモ

参考