다음을 통해 공유


창 메시지를 사용하여 Waveform-Audio 재생 관리

[이 페이지와 연결된 기능인 Waveform Audio레거시 기능입니다. WASAPI오디오 그래프가 대체했습니다. WASAPI오디오 그래프 Windows 10 및 Windows 11에 최적화되었습니다. 가능한 경우 새 코드에서 Waveform Audio대신 WASAPIAudio Graphs 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

파형 오디오 재생을 관리하기 위한 창 프로시저 함수로 다음 메시지를 보낼 수 있습니다.

메시지 묘사
MM_WOM_CLOSE waveOutClose 함수를 사용하여 디바이스를 닫을 때 전송됩니다.
MM_WOM_DONE 디바이스 드라이버가 waveOutWrite 함수를 사용하여 전송된 데이터 블록의 처리가 완료되면 전송됩니다.
MM_WOM_OPEN waveOutOpen 함수를 사용하여 디바이스를 열 때 전송됩니다.

 

wParamlParam 매개 변수는 이러한 각 메시지와 연결됩니다. wParam 매개 변수는 항상 열린 파형 오디오 디바이스의 핸들을 지정합니다. MM_WOM_DONE 메시지의 경우 lParam 완성된 데이터 블록을 식별하는 WAVEHDR 구조체에 대한 포인터를 지정합니다. lParam 매개 변수는 MM_WOM_CLOSEMM_WOM_OPEN 메시지에 사용되지 않습니다.

가장 유용한 메시지는 아마도 MM_WOM_DONE 것입니다. 이 메시지가 데이터 블록의 재생이 완료되었음을 알리면 데이터 블록을 정리하고 해제할 수 있습니다. 메모리를 할당하거나 변수를 초기화할 필요가 없으면 MM_WOM_OPEN과 MM_WOM_CLOSE 메시지를 처리할 필요는 아마 없을 것입니다.

파형 오디오 출력 디바이스에 대한 콜백 함수는 애플리케이션에서 제공합니다. 이 콜백 함수에 대한 자세한 내용은 waveOutProc 함수를 참조하세요.