USB マイクを介してライブ オーディオを録音し、WAV に変換してサーバーにアップロードしようとしています。Windows XP で Chrome Canary (最新ビルド) を使用しています。http://webaudiodemos.appspot.com/AudioRecorder/index.htmlの例に基づいて開発しました
記録を有効にすると、onaudioprocess イベント入力バッファー (e.inputBuffer.getChannelData(0) など) がすべてゼロ値のデータであることがわかります。当然、この場合、音声出力も記録もありません。入力バッファ データを、出力 WAV ファイルに現れるトーンを生成するデータに置き換えることで、コードの残りの部分を検証しました。createMediaStreamSource 以外のアプローチを使用すると、正しく動作します。たとえば、createObjectURL を使用して src をその URL に設定すると、ライブ オーディオの再生をリアルタイムで正常に聞くことができます。また、オーディオ ファイルをロードして createBufferSource を使用することもできます。もちろん、再生中に (これが聞こえます)、inputBuffer にゼロ以外のデータが含まれていることを確認します。
Web で見たほとんどの Web オーディオ録音デモは createMediaStreamSource に依存しているため、これは Chrome の後続のリリースでうっかり壊れてしまったのではないかと推測しています。誰でもこれを確認したり、この問題を克服する方法を提案したりできますか?