DeviceTopology API
Microsoft 고품질 음성 캡처 DMO 샘플을 참조하세요.
DeviceTopology API는 클라이언트 애플리케이션에 오디오 렌더링 및 캡처 디바이스의 기능 하드웨어 토폴로지를 트래버스하는 기능을 제공합니다. DeviceTopology API의 인터페이스 및 메서드를 통해 클라이언트는 오디오 엔드포인트 디바이스로 이어지는 데이터 경로를 따라 있는 기능 하위 단위(예: 볼륨 제어)를 검색할 수 있습니다. 클라이언트는 오디오 어댑터 디바이스와 오디오 엔드포인트 디바이스의 내부 토폴로지와 한 디바이스를 다른 디바이스에 연결하는 연결을 단계별로 트래버스할 수 있습니다. 자세한 내용은 디바이스 토폴로지 를 참조하세요.
헤더 파일 Devicetopology.h는 DeviceTopology API의 인터페이스를 정의합니다.
DeviceTopology API 인터페이스에 액세스하기 위해 클라이언트는 먼저 다음 단계에 따라 오디오 엔드포인트 디바이스에 대한 IDeviceTopology 인터페이스에 대한 참조를 가져옵니다.
- IMMDevice 인터페이스에 설명된 기술 중 하나를 사용하여 오디오 엔드포인트 디바이스에 대한 IMMDevice 인터페이스에 대한 참조를 가져옵니다.
- 매개 변수 iid가 REFIID IID_IDeviceTopology 설정된 IMMDevice::Activate 메서드를 호출합니다.
클라이언트는 IDeviceTopology 인터페이스에서 메서드를 호출하여 DeviceTopology API의 다른 인터페이스에 대한 참조를 가져올 수 있습니다.
DeviceTopology API는 다음 인터페이스를 구현합니다.
인터페이스 | Description |
---|---|
IAudioAutoGainControl | 하드웨어 AGC(자동 게인 제어)에 대한 액세스를 제공합니다. |
IAudioBass | 하드웨어베이스 수준 컨트롤에 대한 액세스를 제공합니다. |
IAudioChannelConfig | 하드웨어 채널 구성 컨트롤에 대한 액세스를 제공합니다. |
IAudioInputSelector | 하드웨어 멀티플렉서 컨트롤(입력 선택기)에 대한 액세스를 제공합니다. |
IAudioLoudness | "음음" 보정 제어에 대한 액세스를 제공합니다. |
IAudioMidrange | 하드웨어 미드레인지 수준 컨트롤에 대한 액세스를 제공합니다. |
IAudioMute | 하드웨어 음소거 컨트롤에 대한 액세스를 제공합니다. |
IAudioOutputSelector | 하드웨어 demultiplexer 컨트롤(출력 선택기)에 대한 액세스를 제공합니다. |
IAudioPeakMeter | 하드웨어 피크 미터 컨트롤에 대한 액세스를 제공합니다. |
IAudioTreble | 하드웨어 고음 수준 컨트롤에 대한 액세스를 제공합니다. |
IAudioVolumeLevel | 하드웨어 볼륨 제어에 대한 액세스를 제공합니다. |
IConnector | 구성 요소 간의 연결 지점을 나타냅니다. |
IControlInterface | 파트(하위 단위 또는 커넥터)의 컨트롤 인터페이스를 나타냅니다. |
IDeviceSpecificProperty | 커넥터 또는 하위 단위의 디바이스별 속성을 나타냅니다. |
IDeviceTopology | 오디오 디바이스의 토폴로지 액세스 권한을 제공합니다. |
IKsFormatSupport | 오디오 디바이스와 시스템 메모리 간의 소프트웨어 구성 I/O 연결(일반적으로 DMA 채널)에서 지원하는 오디오 데이터 형식에 대한 정보를 제공합니다. |
IKsJackDescription | 오디오 어댑터의 디바이스와 외부 또는 내부 엔드포인트 디바이스(예: 마이크 또는 CD 플레이어) 간에 물리적 연결을 제공하는 잭 또는 내부 커넥터에 대한 정보를 제공합니다. |
IPart | 디바이스 토폴로지의 파트(커넥터 또는 하위 단위)를 나타냅니다. |
IPartsList | 부품 목록(커넥터 및 하위 단위)을 나타냅니다. |
IPerChannelDbLevel | 오디오 스트림 또는 오디오 스트림의 주파수 대역의 볼륨 수준(데시벨)에 대한 채널별 제어를 제공하는 제네릭 하위 단위 컨트롤 인터페이스를 나타냅니다. |
ISubunit | 클라이언트와 오디오 엔드포인트 디바이스 간의 데이터 경로에 있는 하드웨어 하위 단위(예: 볼륨 수준 컨트롤)를 나타냅니다. |
커넥터 및 하위 단위의 제어 변경 이벤트에 대한 알림이 필요한 DeviceTopology API 클라이언트는 다음 인터페이스를 구현해야 합니다.
인터페이스 | Description |
---|---|
IControlChangeNotify | 파트의 상태(커넥터 또는 하위 단위)가 변경되면 알림을 제공합니다. |
관련 항목