다음을 통해 공유


토폴로지 노드

오디오 애플리케이션은 Microsoft Windows 멀티미디어 함수 믹서GetLineControls를 통해 믹서 컨트롤에 액세스할 수 있습니다. 이 함수는 하나 이상의 MIXERCONTROL 구조체 배열을 검색하며, 각 구조체는 오디오 라인에 있는 단일 컨트롤 노드의 상태 및 메트릭을 설명합니다. MIXERCONTROL 구조체의 dwControlType 멤버는 컨트롤의 형식을 지정하는 열거형 값으로 설정됩니다. 오디오 VxD에는 여러 가지 믹서 컨트롤 형식이 지정되었지만 WDM 오디오 드라이버에는 이러한 컨트롤의 하위 집합만 사용할 수 있습니다.

WDMAud는 일부 토폴로지 노드를 제외한 일부 토폴로지 노드를 해당 믹서 라인 컨트롤로 변환합니다. 다음 표에 나열된 토폴로지 노드 형식에는 믹서 라인 컨트롤에 해당되는 항목이 있습니다.

노드 유형 Topology-Node 형식 이름 Mixer-Control 형식 이름

AGC

KSNODETYPE_AGC

MIXERCONTROL_CONTROLTYPE_ONOFF

음량

KSNODETYPE_LOUDNESS

MIXERCONTROL_CONTROLTYPE_LOUDNESS

음소거

KSNODETYPE_MUTE

MIXERCONTROL_CONTROLTYPE_MUTE

톤(다중)

KSNODETYPE_TONE

MIXERCONTROL_CONTROLTYPE_ONOFF(KSPROPERTY_AUDIO_BASS_BOOST 지원되는 경우)

MIXERCONTROL_CONTROLTYPE_BASS(KSPROPERTY_AUDIO_BASS 지원되는 경우)

MIXERCONTROL_CONTROLTYPE_TREBLE(KSPROPERTY_AUDIO_TREBLE 지원되는 경우)

볼륨

KSNODETYPE_VOLUME

MIXERCONTROL_CONTROLTYPE_VOLUME

Peakmeter

KSNODETYPE_PEAKMETER

MIXERCONTROL_CONTROLTYPE_PEAKMETER

멀티플렉서

KSNODETYPE_MUX

MIXERCONTROL_CONTROLTYPE_MUX

스테레오 와이드

KSNODETYPE_STEREO_WIDE

MIXERCONTROL_CONTROLTYPE_FADER

코러스

KSNODETYPE_CHORUS

MIXERCONTROL_CONTROLTYPE_FADER

반향

KSNODETYPE_REVERB

MIXERCONTROL_CONTROLTYPE_FADER

Supermix(다중)

KSNODETYPE_SUPERMIX

MIXERCONTROL_CONTROLTYPE_MUTE(슈퍼믹스 노드에서 KSPROPERTY_AUDIO_MUTE 지원되는 경우)

MIXERCONTROL_CONTROLTYPE_VOLUME(텍스트의 주석 참조)

앞의 표에서 누락된 토폴로지 노드 형식은 믹서 라인 컨트롤로 변환되지 않으며 테이블에서 누락된 믹서 라인 컨트롤은 WDM 오디오 드라이버에서 지원되지 않습니다.

테이블에서 MIXERCONTROL_CONTROLTYPE_CUSTOM 없습니다. 즉, WDM 오디오 드라이버는 사용자 지정 믹서 컨트롤을 지원하지 않습니다.

톤 노드베이스, 고음, 중간 주파수베이스 부스트의 네 가지 속성을 지원합니다. 중간 빈도 속성에는 믹서 라인 속성이 없지만 다른 세 가지 속성은 해당합니다. 토폴로지에서 검색된 각 톤 노드에 대해 지원되는 각 속성에 대해 쿼리가 수행됩니다.

KSPROPERTY_AUDIO_BASS

KSPROPERTY_AUDIO_TREBLE

KSPROPERTY_AUDIO_BASS_BOOST

성공한 각 속성 쿼리는 믹서 라인 컨트롤을 생성합니다. 명명 문제로 인해 단일 톤 노드는 단일 속성만 지원해야 합니다. 예를 들어 디바이스가 저음과 고음을 모두 지원하는 경우 노드의 이름이 다를 수 있도록 두 개의 톤 노드가 있어야 합니다.

슈퍼믹스 노드는 최대 두 개의 컨트롤인 음소거 및 볼륨을 지원합니다. 슈퍼믹스 노드는 supermix 노드의 기능 테이블에 있는 모든 항목에 대해 다음 두 조건 중 하나 이상을 충족하는 경우 음소거 컨트롤로 사용할 수 있습니다.

  • 항목은 기능에서 지정한 대로 음소거 속성을 지원 합니다. 음소거 플래그.

  • 항목이 완전히 감쇠되고(-infinity decibels 감쇠) 두 기능 모두에 의해 지정된 을 설정할 수 없습니다. 최소기능. 이 LONG_MIN 최대값(0x80000000)입니다.

supermix 기능 테이블의 모든 항목에 0이 아닌 범위가 있는 경우 슈퍼믹스 노드를 볼륨 제어로 사용할 수 있습니다. 다른 모든 컨트롤은 일대일로 변환됩니다. 인식된 노드가 발견되면 믹서 라인 드라이버는 해당 노드에 대한 해당 속성을 쿼리합니다.

스테레오 또는 모노 지원을 검사 위해 왼쪽 채널이 쿼리되고 오른쪽 채널이 뒤에 옵니다. 마지막으로 두 채널이 모두 실패하면 master 채널(-1)이 시도됩니다. 이러한 쿼리 중 어느 것도 성공하지 못하면 해당 노드에 대한 컨트롤이 생성되지 않습니다. MUX 노드는 각 채널에 대해 쿼리되지 않습니다. 대신 현재 MUX 선택을 검색하는 단일 쿼리가 수행됩니다.

해당 KSPROPERTY_TOPOLOGY_NAME 속성에 대해 노드를 쿼리할 때 컨트롤의 이름이 문자열로 반환됩니다. 노드가 둘 이상의 컨트롤을 생성하는 경우 모든 컨트롤은 동일한 이름을 공유합니다.