본문 바로가기

API / MFC/Wave In/Out API function

waveInOpen Function

녹음을 위해 정해진 웨이브폼 오디오 입력 장치를 열기 위한 함수

MMRESULT waveInOpen(
    LPHWAVEIN phwi,
    UINT_PTR uDeviceID,
    LPWAVEFORMATEX pwfx,
    DWORD_PTR dwCallback,
    DWORD_PTR dwCallbackInstance,
    DWORD fdwOpen
);


phwi
    OPEN할 웨이브폼 오디오 입력 장치의 핸들을 식별하여 받을 버퍼의 포인터
    다른 파형 오디오 입력된 함수를 호출할 때 이 핸들을 사용하여 장치를 식별
    fdwOpen 매개변수에서 WAVE_FORMAT_QUERY을 지정하였다면 NULL을 할 수 있음

uDeviceID
    사용할 웨이브폼 오디오 입력 장치의 식별자
    식별자는 장치 고유식별자 또는 이미 열린 파형 오디오 입력 장치를 핸들을 가질수 있음
    장치 식별자 대신이 다음의 플래그를 사용할 수 있음
         ┃
         ┗> WAVE_MAPPER
                    ┗ 이 함수는 지정된 형식으로 녹음이 가능한 웨이브폼 오디오 입력 장치 선택

pwfx
    녹음할 웨이브폼 오디오 데이터의 원하는 형식을 식별한 WAVEFORMATEX 구조체의 포인터

dwCallback
    녹음 과정 중에서 발생하는 메세지를 처리하기 위해 호출되는
      고정된 콜백 함수, 이벤트 핸들, 윈도우 핸들 대한 주소나 스레드에 대한 식별자
    만약 콜백 함수를 요청하지 않을 경우 이 값을 0을 주면됨
    콜백함수의 더 많은 정보는 waveInProc 함수를 참고

dwCallbackInstance
    콜백 함수에 보내질 사용자 인스턴스 데이터
    윈도우 콜백 메커니즘을 사용할 경우 이값을 사용되지 않음(NULL)

fdwOpen
    웨이브폼 오디오 입력장치를 열기위한 플래그
    사용 가능한 값의 목록은 아래와 같음
         ┃
         ┣> CALLBACK_EVENT
         ┃          ┗ dwCallback 매개변수가 이벤트 핸들일 경우
         ┃
         ┣> CALLBACK_FUNCTION
         ┃          ┗ dwCallback 매개변수가 Callback Procedure Address일 경 우
         ┃
         ┣> CALLBACK_NULL
         ┃          ┗ Default 값으로 No Callback Mechanism을 나타냄
         ┃
         ┣> CALLBACK_THREAD
         ┃          ┗ dwCallback 항목에 스레드 식별자일 경우
         ┃
         ┣> CALLBACK_WINDOW
         ┃          ┗ dwCallback 항목에 윈도우 핸들일 경우
         ┃
         ┣> WAVE_FORMAT_DIRECT
         ┃          ┗ ACM 드라이버가 소리데이터 변환 작업을 수행하지 않음
         ┃
         ┣> WAVE_FORMAT_QUERY
         ┃          ┗ 장치를 열지않고 장치가 WAVEFORMAT에 설정한 Data Format을 지원하는 지 확인함
         ┃
         ┗> WAVE_MAPPED
                     ┗ 웨이브폼 오디오 장치를 식별하는 uDeviceID 매개변수의 값을 WAVE_MAPPER Flag로 지정하였을 경우


return =>
http://msdn.microsoft.com/en-us/library/aa446573.aspx  에서 확인
 

참조 : http://msdn.microsoft.com/en-us/library/dd743847(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
WAVEHDR Structure  (0) 2010.04.14
WAVEFORMATEX Structure  (0) 2010.04.14