2014-12-27 4 views
1

Я пишу программу, которая воспроизводит волновой файл с использованием waveOutOpen и PlaySound. Теперь я должен написать функцию записи голоса с микрофона в файл Wave на диске. Я использую writeInOpen и waveInAddBuffer для записи звука в буфере, но я не могу найти легкий класс для управления волновым файлом и копированием содержимого буфера в файл .wav. Спасибо за предложения!Запись данных из буфера в волновой файл на диске

+0

Какой язык вы используете .. –

+0

Программа должна быть написана в MFC, поэтому в C++, VS 2012 – Tibo

ответ

0

Вы должны создать файл самостоятельно.

Вы можете использовать Multimedia File I/O API, в частности, на mmioOpen(), mmioCreateChunk(), mmioAscend() и mmioWrite() функций. Вам нужно хорошо понимать, как работает формат WAVE-файла, как работают структуры WAVEFORMAT/EX и т. Д., Чтобы вы знали, какие части писать и как их правильно писать.

Или использовать DirectX-х DirectSound API, в частности, интерфейс IDirectSoundCaptureBuffer8 и CWaveFile вспомогательного класс:

Writing to a WAV file

До тех пор, пока есть понимание любого подхода, вам следует использовать существующую библиотеку, чтобы делать тяжелую работу Вам, например:?

Wave Class for Playing and Recording Wave Files

 Смежные вопросы

  • Нет связанных вопросов^_^