Сжатие данных PCM

Я использую функции WinAPI - Wave для создания программы записи, которая записывает микрофон в течение X секунд. Я немного искал по сети, и обнаружил, что данные PCM слишком велики, и будет трудно отправить их через сокеты ...

Как я могу сжать его до чего-то меньшего? Любой простой / "дешевый" способ?

Я также заметил, что когда я объявляю формат с помощью функций Wave API, я использую этот код:

WAVEFORMATEX pFormat;
pFormat.wFormatTag= WAVE_FORMAT_PCM;     // simple, uncompressed format
pFormat.nChannels=1;                    //  1=mono, 2=stereo
pFormat.nSamplesPerSec=sampleRate;      // 44100
pFormat.nAvgBytesPerSec=sampleRate*2;   // = nSamplesPerSec * n.Channels * wBitsPerSample/8
pFormat.nBlockAlign=2;                  // = n.Channels * wBitsPerSample/8
pFormat.wBitsPerSample=16;              //  16 for high quality, 8 for telephone-grade
pFormat.cbSize=0;

Как вы видете,pFormat.wFormatTag= WAVE_FORMAT_PCM; возможно я могу вставить вместоWAVE_FORMAT_PCM что-то еще, так что это будет сжато сразу? Я проверил MSDN для других значений, хотя ни одно из них не работает для меня в моей Visual Studio ...

Так что я могу сделать?

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос