WebRTC PeerConnection
MediaStream
によって転送されたオーディオを録音しようとしています。 AudioTrackSinkInterface
を実装するオーディオトラックにシンクを追加しました。WebRTC(AudioTrackSinkInterface)生のオーディオをディスクに書き込む
void TestAudioTrackSink::OnData(const void* audio_data, int bits_per_sample, int sample_rate, size_t number_of_channels, size_t number_of_frames) {
size_t valueCount = number_of_channels * number_of_frames;
int16_t *_data = (int16_t*)audio_data;
f.write((char*)&_data, sizeof(int16_t) * valueCount);
f.flush();
}
f
がofstream
である:それはOnData
メソッドを実装します。サンプルあたりビットは、サンプルレートは16000で、チャンネル 16で、フレームは160
である。しかし、私はAudacityの生のインポート(符号付き16ビットPCM、ビッグエンディアンで作成したファイルを開くと、1でありますモノ、サンプルレート16000)意味のあるオーディオが得られません。
生のオーディオ日付を正しく書き込むにはどうすればいいですか?