다음을 통해 공유


비표준 형식 지원 결정

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

디바이스가 특정 형식(표준 또는 비표준)을 지원하는지 확인하려면 WAVE_FORMAT_QUERY 플래그를 사용하여 waveOutOpen 함수를 호출할 수 있습니다. 다음 예제에서는 이 기술을 사용하여 파형 오디오 디바이스가 지정된 형식을 지원하는지 여부를 확인합니다.

// Determines whether the specified waveform-audio output device 
// supports a specified waveform-audio format. Returns 
// MMSYSERR_NOERROR if the format is supported, WAVEERR_BADFORMAT if 
// the format is not supported, and one of the other MMSYSERR_ error 
// codes if there are other errors encountered in opening the 
// specified waveform-audio device. 
 
MMRESULT IsFormatSupported(LPWAVEFORMATEX pwfx, UINT uDeviceID) 
{ 
    return (waveOutOpen( 
        NULL,                 // ptr can be NULL for query 
        uDeviceID,            // the device identifier 
        pwfx,                 // defines requested format 
        NULL,                 // no callback 
        NULL,                 // no instance data 
        WAVE_FORMAT_QUERY));  // query only, do not open device 
} 

비표준 형식 지원을 결정하는 이 기술은 파형 오디오 입력 디바이스에도 적용됩니다. 유일한 차이점은 waveInOpen 함수가 waveOutOpen 대신 형식 지원을 쿼리하는 데 사용된다는 것입니다.

시스템의 파형 오디오 디바이스에서 특정 파형 오디오 데이터 형식을 지원하는지 여부를 확인하려면 이전 예제에 설명된 기술을 사용하지만 uDeviceID 매개 변수에 대한 WAVE_MAPPER 상수를 지정합니다.