헤더 파일 및 시스템 구성 요소
다음 표에는 4개의 핵심 오디오 구성 요소에 대한 인터페이스 정의가 포함된 헤더 파일이 나열되어 있습니다.
핵심 오디오 구성 요소 | 헤더 파일 |
---|---|
MMDevice API | Mmdeviceapi.h |
WASAPI | Audioclient.h, Audiopolicy.h |
DeviceTopology API | Devicetopology.h |
EndpointVolume API | Endpointvolume.h |
또 다른 헤더 파일 Audiosessiontypes.h는 WASAPI에서 사용되는 상수를 정의합니다. 이러한 헤더 파일은 %MSSdk%\include 디렉터리에 있습니다. 여기서 %MSSdk%는 컴퓨터에 설치된 Windows SDK의 루트 디렉터리입니다.
이전 표의 각 API는 관련된 COM 인터페이스 집합으로 구성됩니다. 오디오 스트리밍의 일부 측면은 짧은 대기 시간과 정확한 동기화에 따라 달라지므로 MMDevice, WASAPI, DeviceTopology 및 EndpointVolume API의 구현은 Microsoft .NET Framework 또는 관리형 실행 환경을 사용하지 않습니다.
핵심 오디오 API는 Audioses.dll 및 Mmdevapi.dll 사용자 모드 시스템 구성 요소에서 구현됩니다. 클라이언트 애플리케이션은 이러한 DLL의 진입점에 직접 액세스하지 않습니다. 대신 클라이언트는 CoCreateInstance 또는 CoCreateInstanceEx 함수를 호출하여 MMDeviceEnumerator 클래스 개체의 IMMDeviceEnumerator 인터페이스를 가져옵니다. 이 개체는 시스템의 오디오 엔드포인트 디바이스 를 열거합니다. IMMDeviceEnumerator 인터페이스는 MMDevice API의 일부입니다. 이 인터페이스에서 클라이언트는 IMMDevice 인터페이스를 포함하여 MMDevice API의 다른 인터페이스를 직접 또는 간접적으로 가져올 수 있습니다. IMMDevice 는 특정 오디오 엔드포인트 디바이스를 나타냅니다. IMMDevice를 통해 클라이언트는 WASAPI, DeviceTopology API 및 EndpointVolume API에서 디바이스별 인터페이스를 직접 또는 간접적으로 가져올 수 있습니다. CoCreateInstance 및 CoCreateInstanceEx에 대한 자세한 내용은 Windows SDK 설명서를 참조하세요. 핵심 오디오 API의 인터페이스에 액세스하는 방법에 대한 자세한 내용은 오디오 디바이스 열거를 참조하세요.
관련 항목