MIXERLINEA 結構 (mmeapi.h)
MIXERLINE 結構描述音訊線的狀態和計量。
語法
typedef struct tagMIXERLINEA {
DWORD cbStruct;
DWORD dwDestination;
DWORD dwSource;
DWORD dwLineID;
DWORD fdwLine;
DWORD_PTR 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;
MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN];
} Target;
} MIXERLINEA, *PMIXERLINEA, *LPMIXERLINEA;
成員
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
與 MIXERLINE 結構中所述之音訊線相關聯的目標媒體裝置類型。 應用程式必須忽略它未使用的媒體裝置類型目標資訊。 定義下列值:
名稱 | 描述 |
---|---|
|
MIXERLINE 結構所描述的音訊線,嚴格系結至混合器結構之目標結構成員其餘成員中詳述的輔助裝置。 |
|
MIXERLINE 結構所描述的音訊線,嚴格系結至混合器結構之目標結構成員其餘成員中詳述的MIDI輸入設備。 |
|
MIXERLINE 結構所描述的音訊線,嚴格系結至混合器結構之目標結構成員其餘成員中詳述的MIDI輸出裝置。 |
|
MIXERLINE 結構所描述的音訊線不會嚴格系結至定義的媒體類型。 應該忽略混合器LINE結構的所有剩餘目標結構成員。 使用 MIXER_GETLINEINFOF_TARGETTYPE 旗標呼叫 混合器GetLineInfo 函式時,應用程式無法使用MIXERLINE_TARGETTYPE_UNDEFINED目標類型。 |
|
MIXERLINE 結構所描述的音訊線,嚴格系結至混合器結構之目標結構成員其餘成員中詳述的波音頻輸入設備。 |
|
MIXERLINE 結構所描述的音訊線,嚴格系結至混合器結構之目標結構成員其餘成員中詳述的電壓音訊輸出裝置。 |
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 成員相同。
備註
注意
mmeapi.h 標頭會將MIXERLINE定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | mmeapi.h |
另請參閱
音訊混音器