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
大小,以位元組為單位,MIXERLINE 結構。 呼叫 混合器GetLineInfo 函式之前,必須先初始化這個成員。 這個成員中指定的大小必須夠大,才能包含 MIXERLINE 結構。 當 混合器GetLineInfo 傳回時,這個成員會包含傳回之資訊的實際大小。 傳回的資訊不會超過要求的大小。
dwDestination
目的地行索引。 這個成員的範圍從零到一個小於 cDestinations 中指定的值,MIXERCAPS 結構的成員,混合器GetDevCaps 函式所擷取。 當使用 MIXER_GETLINEINFOF_DESTINATION 旗標呼叫 混合器GetLineInfo 函式時,會傳回目的地行的屬性。 (在此案例中,dwSource 成員必須設定為零。使用 MIXER_GETLINEINFOF_SOURCE 旗標呼叫時,會傳回與 dwDestination 成員相關聯的 dwSource 成員所指定來源的屬性。
dwSource
與 dwDestination 成員相關聯的音訊來源行索引。 也就是說,這個成員會指定與指定音訊目的地行相關聯的音訊來源行 n。 這個成員不會用於目的地行,而且必須在 混合器GetLineInfo 函式中指定MIXER_GETLINEINFOF_DESTINATION時設定為零。 指定MIXER_GETLINEINFOF_SOURCE旗標時,此成員的範圍從零到一個小於 cConnections 成員中所指定之 dwDestination 成員中指定的音訊目的地行值。
dwLineID
由混音器裝置定義的標識碼,該標識符會唯一參考 MIXERLINE 結構中所述的音訊線。 此標識元對於每個混音器裝置而言都是唯一的,而且可以是任何格式。 應用程式應該只使用此標識碼做為抽象句柄。
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 結構中其餘成員 目標 結構成員中詳述的輔助裝置。 |
|
MIXERLINE 結構所描述的音訊線,會嚴格系結至 TARGET 結構成員中,MIXERLINE 結構的其餘成員中詳述的 MIDI 輸入設備。 |
|
MIXERLINE 結構所描述的音訊線,嚴格系結至 TARGET 結構成員 MIXERLINE 結構的其餘成員中詳述的 MIDI 輸出裝置。 |
|
MIXERLINE 結構所描述的音訊線並未嚴格系結至定義的媒體類型。 應該忽略所有剩餘 Target structure 成員 MIXERLINE 結構的成員。 當呼叫具有 MIXER_GETLINEINFOF_TARGETTYPE 旗標的 mixerGetLineInfo 函式時,應用程式無法使用MIXERLINE_TARGETTYPE_UNDEFINED目標類型。 |
|
|
|
|
Target.dwDeviceID
當 dwType 成員不是MIXERLINE_TARGETTYPE_UNDEFINED以外的目標類型時,目標媒體裝置的目前裝置標識符。 此標識碼與相關聯媒體裝置的目前媒體裝置索引相同。 使用 MIXER_GETLINEINFOF_TARGETTYPE 旗標呼叫 混音器GetLineInfo 函式時,輸入上會忽略此成員,並由音訊混音器管理員傳回給呼叫端。
Target.wMid
當 dwType 成員不是MIXERLINE_TARGETTYPE_UNDEFINED的目標類型時,目標媒體裝置的製造商標識符。 此標識碼與相關聯媒體之裝置功能結構的 wMid 成員相同。 製造商標識碼定義於 Manufacturer 和 Product Identifiers中。
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 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | mmeapi.h |
另請參閱
音訊混音器