0

アプリケーションで html5 Web オーディオ API を使用しています。アプリケーションは簡単です、私は持っています

BufferSourceNode -> GainNode -> ローパス フィルター -> context.destination

フィルターを適用した後、出力を保存したいと思います。そこで、context.destination の前にレコーダーを追加することにしました。しかし、これは機能しません。オーディオの再生中にノイズが発生しますが、レコーダーはフィルター効果を正常に記録します。

私は正しい方法でそれを行っていますか、それともこれを行うためのより良い方法はありますか?

4

1 に答える 1

1

2つのこと:

1) とにかくバッファーを使用する場合 (使用しない場合でも)、OfflineAudioContext の使用を検討することをお勧めします ( https://dvcs.w3.org/hg/audio/raw-file/tip/ webaudio/specification.html#OfflineAudioContext-section )。OAC はリアルタイムよりも高速に実行できるため、リアルタイムで「記録」する必要はありません。ノードを設定し、startRendering() を呼び出すと、oncomplete イベントによってオーディオ バッファーが渡されます。( ) それでも .WAV ファイルが必要な場合は、Recordjs から WAV エンコード関数を引き出して、それを使用して任意のバッファーをエンコードできます。

2) それはあなたのコードのエラーのように聞こえます - 余分なノイズを発生させることなく、どちらの方法でも動作するはずです。私に送ってくれるコードサンプルはありますか?

于 2013-09-18T12:46:50.877 に答える