このようなことを少ししただけです。
基本的に、オフライン コンテキストを作成する必要があります。
var offline = new webkitOfflineAudioContext(numChannels, lengthInSamples, sampleRate)
この新しいコンテキストを使用して、すべての BufferSources を再作成する必要があります。
var newBufferSource = offline.createBufferSource();
newBufferSource.buffer = someAudioBuffer;
newBufferSource.connect(offline.destination);
次に、再生をスケジュールします。
newBufferSource.start(offline.currentTime + 10);
次に、オフライン レンダリング用のイベントにバインドしcomplete
ます。
offline.onComplete = function( ev ){
doSomething(ev.renderedBuffer);
}
次に、「レンダリング」を開始します。
offline.startRendering();
を手に入れたらev.renderedBuffer
、それを使って好きなことをすることができます。私のアプリには、最終的に自分で作成した WAV エンコーダーがありますが、Recorder.js を変更して同じことを非常に簡単に行うことができます。
注意点:webkitOfflineAudioContext
は現時点では Chrome のみです。興味がある場合は、次のリンクを参照してください: OfflineAudioContext