2012-09-15 4 views
0

응용 프로그램이 windows에서 waveOutWrite(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh)을 호출하면 메모리의 오디오 카드로 전송 된 오디오 데이터 (pwh-> lpData가 가리키는)의 복사본을 저장합니다.오디오 데이터를 wav 파일로 메모리에 저장하는 방법은 무엇입니까?

이제 오디오 데이터를 디스크에 WAV 형식 파일로 저장하려면 어떻게해야합니까?

나는 오디오 데이터 블록에 대한 포인터와 audo 데이터의 크기를 가지고있다.

+0

[이 사이트] (http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html)에서 파일 형식을 참조하십시오. –

답변

2

wav 형식은 pretty trivial이며 쉽게 구현할 수 있습니다. 또는 libsndfile과 같은 라이브러리를 사용할 수 있습니다.

0

레거시 멀티미디어 API를 사용하면 mmioOpen, mmioCreateChunk, mmioWrite 패밀리를 사용합니다. 코드 스 니펫은 WAV saving?입니다. API를 사용하면 이러한 RIFF 파일을 작성할 수 있지만 구조는 그리 복잡하지 않으므로 직접 이진 파일에 쓸 수 있습니다.

아직 WinAPI를하지 잘 일치하지만 당신의 waveOutWrite : 당신이 WavDest Sample 필요 DirectShow를 API 및 파일에 들어오는 데이터를 기록하는 데 사용하는 필터 그래프와

  • .
  • 최근 미디어 Foundation API WavSink Sample을 사용하면 도움이 될 것입니다.
관련 문제