共用方式為


MIXERCONTROLDETAILS 結構 (mmeapi.h)

MIXERCONTROLDETAILS 結構是指控件詳細數據結構、擷取或設定音訊混音器控件的狀態資訊。 呼叫 混合器GetControlDetails 和混合器SetControlDetails 式之前,必須先初始化此結構的所有成員。

語法

typedef struct tMIXERCONTROLDETAILS {
  DWORD  cbStruct;
  DWORD  dwControlID;
  DWORD  cChannels;
  union {
    HWND  hwndOwner;
    DWORD cMultipleItems;
  } DUMMYUNIONNAME;
  DWORD  cbDetails;
  LPVOID paDetails;
} MIXERCONTROLDETAILS, *PMIXERCONTROLDETAILS, *LPMIXERCONTROLDETAILS;

成員

cbStruct

以位元組為單位的 混合器CONTROLDETAILS 結構大小。 大小必須夠大,才能包含基底 MIXERCONTROLDETAILS 結構。 當混合器GetControlDetails 傳回時,此成員會包含傳回之資訊的實際大小。 傳回的資訊不會超過要求的大小,也不會小於基底 的MIXERCONTROLDETAILS 結構。

dwControlID

要取得或設定屬性的控件識別碼。

cChannels

要取得或設定控件屬性的通道數目。 已定義下列值:

名稱 描述
0
當控件是MIXERCONTROL_CONTROLTYPE_CUSTOM控件時,請使用此值。
1
當控件是MIXERCONTROL_CONTROLF_UNIFORM控件,或應用程式需要取得和設定所有通道時,請使用此值,就像是一致一樣。
MIXERLINE cChannels
當控件的屬性必須是線條的所有通道時,請使用這個值。
 

應用程式無法指定介於 1 到音訊線的通道數目之間的值。 例如,針對四通道線路指定 2 或 3 無效。 對於非自定義控件類型,這個成員不可為 0。

對於非自定義控件類型,這個成員不可為 0。

DUMMYUNIONNAME

DUMMYUNIONNAME.hwndOwner

處理擁有混合器控件之自定義對話框的視窗。 當 混合器SetControlDetails 函式中指定了 MIXER_SETCONTROLDETAILSF_CUSTOM 旗標時,就會使用此成員。

DUMMYUNIONNAME.cMultipleItems

每個通道要取得或設定屬性的多個項目數目。 已定義下列值:

名稱 描述
0
針對MIXERCONTROL_CONTROLF_MULTIPLE或MIXERCONTROL_CONTROLTYPE_CUSTOM控件以外的所有控件使用這個值。
MIXERCONTROL cMultipleItems 成員
當控件類別MIXERCONTROL_CONTROLF_MULTIPLE時,請使用此值。
MIXERCONTROLDETAILS hwndOwner 成員
當控件是MIXERCONTROL_CONTROLTYPE_CUSTOM控件,而且已為混合器SetControlDetails 函式指定MIXER_SETCONTROLDETAILSF_CUSTOM旗標時,請使用此值。

在此情況下,hwndOwner 成員會與 cMultipleItems 重疊,並提供視窗句柄的值。

 

在沒有MIXERCONTROL_CONTROLTYPE_CUSTOM旗標的情況下使用MIXERCONTROL_CONTROLTYPE_CUSTOM控件時,請為此成員指定零。

應用程式無法為MIXERCONTROL_CONTROLF_MULTIPLE控件指定在MIXERCONTROL結構的 cMultipleItems 成員中指定的值以外的任何值。

cbDetails

使用下列其中一個詳細數據結構的大小,以位元組為單位:

名稱 描述
MIXERCONTROLDETAILS_BOOLEAN
音訊線條控件的布爾值。
MIXERCONTROLDETAILS_LISTTEXT
列出音訊線條控件的文字緩衝區。 如需特定控件適當詳細數據結構的資訊,請參閱 控件類型
MIXERCONTROLDETAILS_SIGNED
音訊線條控件的帶正負號值。
MIXERCONTROLDETAILS_UNSIGNED
音訊線控件的不帶正負號值。

paDetails

一或多個結構的陣列指標,其中會擷取或設定指定控件的屬性。

對於MIXERCONTROL_CONTROLF_MULTIPLE控件,此緩衝區的大小應該是 CChannelscMultipleItemscbDetails 結構成員的乘積。 對於MIXERCONTROL_CONTROLF_MULTIPLE類型以外的控件而言,此緩衝區的大小是 一個 CChannelscbDetails 成員的 PRODUCT of the MIXERCONTROLDETAILS 結構。

對於MIXERCONTROL_CONTROLF_MULTIPLE類型以外的控件而言,此緩衝區的大小是 一個 CChannelscbDetails 成員的 PRODUCT of the MIXERCONTROLDETAILS 結構。 對於MIXERCONTROL_CONTROLF_MULTIPLE類型以外的控件而言,此緩衝區的大小是 一個 CChannelscbDetails 成員的 PRODUCT of the MIXERCONTROLDETAILS 結構。

對於MIXERCONTROL_CONTROLF_MULTIPLE類型的控件,可以將數位視為通道主要的二維陣列。 也就是說,會提供左側通道的所有多個專案,然後為右側通道提供所有多個專案,依此類錯。

對於MIXERCONTROL_CONTROLF_MULTIPLE類型以外的控件,每個元素索引都相當於其影響之以零起始的通道。 也就是說,paDetails[0] 適用於左通道,而paDetails[1]則適用於右通道。

如果控件是MIXERCONTROL_CONTROLTYPE_CUSTOM控件,這個成員必須指向至少足以包含以位元組為單位的緩衝區,以位元組為單位,由MIXERCONTROL結構的 cbCustomData 成員所指定。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 mmeapi.h

另請參閱

音訊混音器結構

音訊混音器

MIXERCONTROL

mixerGetControlDetails

mixerSetControlDetails