Запись WebRTC (AudioTrackSinkInterface) необработанного аудио на диск
Я пытаюсь записать звук, переданный через WebRTCPeerConnection
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
. Биты на образец 16,частота дискретизации это 16000,каналы это 1,кадры 160
Но когда я открываю созданный файл с помощью необработанного импорта AudaCity (подписанный 16-битный PCM, little-endian, моно, частота дискретизации 16000), я не получаю значимого звука.
Как правильно написать эту необработанную аудио дату?