Я пишу программу, которая воспроизводит волновой файл с использованием waveOutOpen и PlaySound. Теперь я должен написать функцию записи голоса с микрофона в файл Wave на диске. Я использую writeInOpen и waveInAddBuffer для записи звука в буфере, но я не могу найти легкий класс для управления волновым файлом и копированием содержимого буфера в файл .wav. Спасибо за предложения!Запись данных из буфера в волновой файл на диске
1
A
ответ
0
Вы должны создать файл самостоятельно.
Вы можете использовать Multimedia File I/O API, в частности, на mmioOpen()
, mmioCreateChunk()
, mmioAscend()
и mmioWrite()
функций. Вам нужно хорошо понимать, как работает формат WAVE-файла, как работают структуры WAVEFORMAT/EX
и т. Д., Чтобы вы знали, какие части писать и как их правильно писать.
Или использовать DirectX-х DirectSound API, в частности, интерфейс IDirectSoundCaptureBuffer8
и CWaveFile
вспомогательного класс:
До тех пор, пока есть понимание любого подхода, вам следует использовать существующую библиотеку, чтобы делать тяжелую работу Вам, например:?
Какой язык вы используете .. –
Программа должна быть написана в MFC, поэтому в C++, VS 2012 – Tibo