WAVEHDR 구조체는 웨이브폼 오디오 버퍼를 식별하는데 사용하는 헤더를 정의typedef struct wavehdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD_PTR dwUser;
DWORD dwFlags;
DWORD dwLoops;
struct wavehdr_tag *lpNext;
DWORD_PTR reserved;
} WAVEHDR, *LPWAVEHDR;
lpData
웨이브폼 버퍼의 포인터(녹음을 할 때 사용할 메모리 공간에 대한 주소)
dwBufferLength
퍼버의 크기(byte 단위)
dwBytesRecorded
헤더입력에 사용되는 이 멤버는 어느정도의 데이터가 버퍼에 있는지 지정함
dwUser
사용자 데이터
dwFlags
버퍼에 대한 부가 정보의 플래그
다음 값을 정의
┃
┣> WHDR_BEGINLOOP
┃ ┣ 재생이 반복되는 버퍼일때 이 플래그를 설정
┃ ┣ 이 버퍼는 반복에서의 첫번째 버퍼를 나타냄
┃ ┗ 이 버퍼는 오직 출력 버퍼(재생)에서만 사용
┃
┣> WHDR_DONE
┃ ┗ 버퍼가 다 사용되었거나 어플리케이션이 반환 되었음을 나타내는 장치 드라이브에 의해 설정
┃
┣> WHDR_ENDLOOP
┃ ┣ 재생이 반복되는 버퍼일때 이 플래그를 설정
┃ ┣ 이 버퍼는 반복에서의 마지막 버퍼를 나타냄
┃ ┗ 이 버퍼는 오직 출력 버퍼(재생)에서만 사용
┃
┣> WHDR_INQUEUE
┃ ┗재생을 위해 대기중인 버퍼를 나타내는 윈도우에서 설정
┃
┗> WHDR_PREPARED
┗ waveInPrepareHeader나 waveOutPrepareHeader 함수에서 준비된 버퍼를 나타내는 윈도우에서 설정
dwLoops
반복 재생의 횟수 지정
이 멤버는 오직 출력 버퍼(재생)에서만 사용
lpNext
예약
reserved
예약
정리 잘된 사이트
http://blog.naver.com/zzangisaac/30045986561
http://www.tipssoft.com/bulletin/tb.php/FAQ/23
참조 : http://msdn.microsoft.com/en-us/library/dd743837(VS.85).aspx
'API / MFC > Wave In/Out API function' 카테고리의 다른 글
waveInStart Function (0) | 2010.04.15 |
---|---|
waveInAddBuffer Function (0) | 2010.04.15 |
waveInPrepareHeader Function (0) | 2010.04.15 |
waveInOpen Function (0) | 2010.04.15 |
WAVEFORMATEX Structure (0) | 2010.04.14 |