拓撲節點
音訊應用程式可以透過 Microsoft Windows 多媒體函式 混音器GetLineControls 存取混音器控制項。 此函式會擷取一或多個 MIXERCONTROL 結構的陣列,每個結構都會描述音訊線上單一控制節點的狀態和計量。 MIXERCONTROL 結構的 dwControlType成員會設定為指定控制項類型的列舉值。 已針對音訊 VxD 指定許多混音器控制項類型,但 WDM 音訊驅動程式只能使用這些控制項的子集。
WDMAud 會將部分但並非所有拓撲節點轉譯成對應的混音器線控制項。 下表所列的拓撲節點類型具有混合器線條控制項的對應專案。
節點類型 | Topology-Node類型名稱 | Mixer-Control類型名稱 |
---|---|---|
AGC |
MIXERCONTROL_CONTROLTYPE_ONOFF |
|
響度 |
MIXERCONTROL_CONTROLTYPE_LOUDNESS |
|
Mute |
MIXERCONTROL_CONTROLTYPE_MUTE |
|
音調 (多個) |
如果支援KSPROPERTY_AUDIO_BASS_BOOST,MIXERCONTROL_CONTROLTYPE_ONOFF () 如果支援KSPROPERTY_AUDIO_BASS,MIXERCONTROL_CONTROLTYPE_BASS () MIXERCONTROL_CONTROLTYPE_TREBLE (如果支援KSPROPERTY_AUDIO_TREBLE) |
|
磁碟區 |
MIXERCONTROL_CONTROLTYPE_VOLUME |
|
尖峰計 |
MIXERCONTROL_CONTROLTYPE_PEAKMETER |
|
MUX |
MIXERCONTROL_CONTROLTYPE_MUX |
|
立體寬 |
MIXERCONTROL_CONTROLTYPE_FADER |
|
合唱 |
MIXERCONTROL_CONTROLTYPE_FADER |
|
混響 |
MIXERCONTROL_CONTROLTYPE_FADER |
|
Supermix (多個) |
MIXERCONTROL_CONTROLTYPE_MUTE (超混音節點) 是否支援KSPROPERTY_AUDIO_MUTE MIXERCONTROL_CONTROLTYPE_VOLUME (文字) 中查看批註 |
上表中遺漏的拓撲節點類型不會轉譯成混音器線控制項,WDM 音訊驅動程式不支援資料表遺漏的混音器線控制項。
請注意,資料表中缺少MIXERCONTROL_CONTROLTYPE_CUSTOM。 這表示 WDM 音訊驅動程式不支援自訂混音器控制項。
音調節點支援四個屬性:bass、treble、mid-frequency和bass boost。 中間頻率屬性沒有混音器線對應專案,但其他三個屬性則這麼做。 針對拓撲中探索到的每個音調節點,會針對每個支援的屬性進行查詢:
成功的每個屬性查詢都會產生混音器線條控制項。 由於命名問題,單一音調節點應該只支援單一屬性。 例如,如果裝置同時支援 Bass 和 treble,它應該有兩個音調節點,讓節點可以有不同的名稱。
超混音節點最多支援兩個控制項:靜音和磁片區。 當超混音節點滿足超混音節點 功能資料表中每個專案的至少兩個條件之一時,可以做為靜音控制項:
專案支援 Mute 屬性,如 功能所指定。靜音 旗標。
專案會完全衰減 (-infinity decibels 衰減) 且無法開啟,這兩個功能都是由這兩個 功能所指定。最小 和 功能。值LONG_MIN (0x80000000) 上限 。
當 supermix 功能資料表中的每個專案都有非零範圍時,可以使用超混音節點做為磁片區控制項。 所有其他控制項都會一對一轉譯。 遇到辨識的節點時,混音器線驅動程式會查詢該節點的個別屬性。
若要檢查立體或單聲道支援,會查詢左側通道,後面接著右側通道,最後,如果兩者都失敗,則會嘗試主要通道 (-1) 。 如果沒有這些查詢成功,則不會針對該節點產生任何控制項。 請注意,不會針對每個通道查詢 MUX 節點。 相反地,會執行單一查詢來擷取目前的 MUX 選取範圍。
當查詢節點的 KSPROPERTY_TOPOLOGY_NAME 屬性時,控制項的名稱會以字串的形式傳回。 如果節點產生多個控制項,則所有控制項都會共用相同的名稱。