【发布时间】:2017-03-18 12:52:17
【问题描述】:
我正在尝试录制由 WebRTC PeerConnection MediaStream 传输的音频。我在实现AudioTrackSinkInterface 的音轨中添加了一个接收器。它实现了OnData 方法:
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。 Bits per sample 是 16,sample rate 是 16000,channels 是 1,frames 是 160。
但是当我使用 AudaCity 原始导入(签名 16 位 PCM、小端序、单声道、采样率 16000)打开创建的文件时,我没有得到有意义的音频。
如何正确写入原始音频日期?
【问题讨论】: