MIXERLINE 結構 (mmeapi.h)
MIXERLINE 結構描述音訊線的狀態和計量。
語法
typedef struct tMIXERLINE {
DWORD cbStruct;
DWORD dwDestination;
DWORD dwSource;
DWORD dwLineID;
DWORD fdwLine;
DWORD dwUser;
DWORD dwComponentType;
DWORD cChannels;
DWORD cConnections;
DWORD cControls;
char szShortName[MIXER_SHORT_NAME_CHARS];
char szName[MIXER_LONG_NAME_CHARS];
struct {
DWORD dwType;
DWORD dwDeviceID;
WORD wMid;
WORD wPid;
VERSION vDriverVersion;
char szPname[MAXPNAMELEN];
} Target;
} MIXERLINE, *PMIXERLINE, *LPMIXERLINE;
成員
cbStruct
混合器LINE結構的大小,以位元組為單位。 呼叫 混合器GetLineInfo 函式之前,必須先初始化這個成員。 這個成員中指定的大小必須夠大,才能包含 MIXERLINE 結構。 當混合器GetLineInfo 傳回時,這個成員會包含傳回之資訊的實際大小。 傳回的資訊將不會超過要求的大小。
dwDestination
目的地行索引。 這個成員的範圍從零到一個小於混音器GetDevCaps 函式所擷取之MIXERCAPS結構 cDestinations 成員中指定的值。 使用 MIXER_GETLINEINFOF_DESTINATION 旗標呼叫 混合器GetLineInfo 函 式時,會傳回目的行的屬性。 (在此案例中,dwSource 成員必須設定為零。) 使用 MIXER_GETLINEINFOF_SOURCE 旗標呼叫時,會傳回與 dwDestination 成員相關聯之 dwSource 成員所指定之來源的屬性。
dwSource
與 dwDestination 成員相關聯的音訊來源行索引。 也就是說,這個成員會指定與指定音訊目的地行相關聯的 第 n 個音訊來源行。 這個成員不會用於目的行,而且必須在 混合器GetLineInfo 函式中指定MIXER_GETLINEINFOF_DESTINATION時設定為零。 指定MIXER_GETLINEINFOF_SOURCE旗標時,此成員的範圍從零到小於 dwDestination 成員中所指定音訊目的地行 cConnections 成員中指定的值。
dwLineID
混音器裝置所定義的標識碼,該標識符會唯一參考 以「混合器LINE 」結構所描述的音訊線。 此標識元對於每個混音器裝置而言都是唯一的,而且可以是任何格式。 應用程式應該只使用此標識碼做為抽象句柄。
fdwLine
音訊線的狀態和支援旗標。 這個成員一律會傳回至應用程式,而且不需要初始化。
如果應用程式未使用電壓音訊輸出裝置,則與該裝置相關聯的音訊線不會 (亦即不會設定MIXERLINE_LINEF_ACTIVE旗標) 。
如果開啟電壓音訊輸出裝置,則會將音訊線視為使用中,並設定MIXERLINE_LINEF_ACTIVE旗標。
暫停或耗盡的波浪音訊輸出裝置仍被視為作用中。 換句話說,如果應用程式開啟了失真音訊輸出裝置,而不論數據是否正在播放,相關聯的音訊線就會被視為使用中。
如果線條無法嚴格定義為使用中,混音器裝置一律會設定MIXERLINE_LINEF_ACTIVE旗標。
dwUser
由音訊裝置針對該行定義的實例數據。 此成員適用於專為傳回這項資訊的混音器裝置所設計的自定義混音器應用程式。 其他應用程式應該忽略此數據。
dwComponentType
這個音訊線的元件類型。 應用程式可以使用這項信息來顯示量身打造的圖形,或搜尋特定元件。 如果應用程式不使用元件類型,則應該忽略此成員。 此成員可以是下列其中一個值:
cChannels
可以針對音訊線獨立操作的不同通道數目上限。 此欄位的最小值為 1,因為行必須至少有一個通道。
個人電腦的大部分新式音訊卡都是立體聲裝置;對於它們,這個成員的值是 2。
通道 1 假設為左側通道;通道 2 假設為正確的通道。
多通道線可能會有一或多個統一控件 (控件,這些控件會影響與它相關聯之線條的所有通道) 。
cConnections
與音訊線相關聯的連線數目。 這個成員僅用於音訊目的地行,並指定與其相關聯的音訊來源行數目。 這個成員一律為來源行的零,而且目的地行沒有與其相關聯的任何音訊來源行。
cControls
與音訊線相關聯的控件數目。 此值可以是零。 如果沒有控件與該行相關聯,該行可能是在MIXERCONTROL_CONTROLTYPE_MUX或MIXERCONTROL_CONTROLTYPE_MIXER中選取的來源,但不允許操作訊號。
szShortName[MIXER_SHORT_NAME_CHARS]
簡短字串,描述 dwLineID 成員中指定的音訊混音器行。 此描述應該適合作為線條的精簡標籤。
szName[MIXER_LONG_NAME_CHARS]
字串,描述 dwLineID 成員中指定的音訊混音器線。 此描述應該適當地作為行的完整描述。
Target
目標媒體資訊。
Target.dwType
與 「混合器LINE 」結構中所述之音訊線相關聯的目標媒體裝置類型。 應用程式必須忽略它不使用之媒體裝置類型的目標資訊。 已定義下列值:
名稱 | 描述 |
---|---|
|
「混合器LINE」結構所描述的音訊線會嚴格系結至在混合器LINE結構之 Target 結構成員的其餘成員中詳述的輔助裝置。 |
|
MIXERLINE 結構所描述的音訊線會嚴格系結至在混合器LINE 結構之 Target 結構成員其餘成員中詳述的 MIDI 輸入設備。 |
|
「混合器LINE」結構所描述的音訊線會嚴格系結至「混合器」結構之目標結構成員其餘成員中詳述的MIDI輸出裝置。 |
|
「混合器」結構所描述的音訊線不會嚴格系結至定義的媒體類型。 應該忽略混合器LINE結構的所有剩餘 Target 結構成員。 使用 MIXER_GETLINEINFOF_TARGETTYPE 旗標呼叫 混合器GetLineInfo 函式時,應用程式無法使用MIXERLINE_TARGETTYPE_UNDEFINED目標類型。 |
|
「混合器LINE」結構所描述的音訊線會嚴格系結至「混合器」結構之目標結構成員其餘成員中詳述的電壓音頻輸入設備。 |
|
MIXERLINE 結構所描述的音訊線會嚴格系結至混合器LINE 結構之目標結構成員其餘成員中詳述的電壓音訊輸出裝置。 |
Target.dwDeviceID
當 dwType 成員是MIXERLINE_TARGETTYPE_UNDEFINED以外的目標類型時,目標媒體裝置的目前裝置識別碼。 此標識碼與相關聯媒體裝置的目前媒體裝置索引相同。 使用 MIXER_GETLINEINFOF_TARGETTYPE 旗標呼叫 混音器GetLineInfo 函式時,會在輸入時忽略此成員,並由音訊混音器管理員傳回給呼叫端。
Target.wMid
當 dwType 成員是MIXERLINE_TARGETTYPE_UNDEFINED以外的目標類型時,目標媒體裝置的製造商標識符。 此標識碼與相關聯媒體之裝置功能結構的 wMid 成員相同。 製造商標識碼定義於 製造商和產品標識碼中。
Target.wPid
當 dwType 成員是非MIXERLINE_TARGETTYPE_UNDEFINED的目標類型時,目標媒體裝置的產品識別符。 此標識碼與相關聯媒體之裝置功能結構的 wPid 成員相同。 產品標識碼定義於 製造商和產品標識碼中。
Target.vDriverVersion
當 dwType 成員是MIXERLINE_TARGETTYPE_UNDEFINED以外的目標類型時,目標媒體裝置的驅動程式版本。 此版本與相關聯媒體之裝置功能結構的 vDriverVersion 成員相同。
Target.szPname[MAXPNAMELEN]
當 dwType 成員是MIXERLINE_TARGETTYPE_UNDEFINED以外的目標類型時,目標媒體裝置的產品名稱。 此名稱與相關聯媒體之裝置功能結構的 szPname 成員相同。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | mmeapi.h |
另請參閱
音訊混音器