다음을 통해 공유


특정 형식 형식을 선택하기 위한 대화 상자 생성

사용자가 대화 상자의 제한된 형식 목록에서 형식을 선택할 수 있도록 애플리케이션을 사용할 수 있습니다. 제한은 채널 수, 샘플링 속도, 파형 오디오 형식 태그 또는 샘플당 비트 수를 제한할 수 있습니다. 이러한 모든 경우 acmFormatChoose 함수를 사용하여 ACMFORMATCHOOSE 구조체의 fdwEnumpwfxEnum 멤버를 설정하여 목록을 생성할 수 있습니다. 다음 예제에서는 이 프로세스를 보여 줍니다.

MMRESULT            mmr; 
ACMFORMATCHOOSE     afc; 
WAVEFORMATEX        wfxSelection; 
WAVEFORMATEX        wfxEnum; 
 
// Initialize the ACMFORMATCHOOSE members. 
memset(&afc, 0, sizeof(afc)); 
 
afc.cbStruct    = sizeof(afc); 
afc.fdwStyle    = 0L;               // no special style flags 
afc.hwndOwner   = hwnd;             // hwnd of parent window 
afc.pwfx        = &wfxSelection;    // wfx to receive selection 
afc.cbwfx       = sizeof(wfxSelection); 
afc.pszTitle    = TEXT("16 Bit PCM Selection"); 
 
//  Request that all 16-bit PCM formats be displayed for the user 
//  to select from. 
memset(&wfxEnum, 0, sizeof(wfxEnum)); 
wfxEnum.wFormatTag = WAVE_FORMAT_PCM; 
wfxEnum.wBitsPerSample = 16; 
afc.fdwEnum = ACM_FORMATENUMF_WFORMATTAG | 
    ACM_FORMATENUMF_WBITSPERSAMPLE; 
afc.pwfxEnum = &wfxEnum; 
mmr = acmFormatChoose(&afc); 
if ((MMSYSERR_NOERROR != mmr) && (ACMERR_CANCELED != mmr)) 
{ 
    // There was a fatal error in bringing up the list 
    // dialog box (probably invalid input parameters). 
}