MIXERCONTROLDETAILS 结构 (mmeapi.h)
MIXERCONTROLDETAILS 结构是指控制详细信息结构,用于检索或设置音频混音器控件的状态信息。 在调用 mixerGetControlDetails 和 mixerSetControlDetails 函数之前,必须初始化此结构的所有成员。
语法
typedef struct tMIXERCONTROLDETAILS {
DWORD cbStruct;
DWORD dwControlID;
DWORD cChannels;
union {
HWND hwndOwner;
DWORD cMultipleItems;
} DUMMYUNIONNAME;
DWORD cbDetails;
LPVOID paDetails;
} MIXERCONTROLDETAILS, *PMIXERCONTROLDETAILS, *LPMIXERCONTROLDETAILS;
成员
cbStruct
MIXERCONTROLDETAILS 结构的大小(以字节为单位)。 大小必须足够大,才能包含基本 MIXERCONTROLDETAILS 结构。 当 mixerGetControlDetails 返回时,此成员包含返回的信息的实际大小。 返回的信息不会超过请求的大小,也不会小于基本 MIXERCONTROLDETAILS 结构。
dwControlID
要获取或设置属性的控制标识符。
cChannels
要获取或设置控件属性的通道数。 定义了以下值:
名称 | 说明 |
---|---|
|
当控件是MIXERCONTROL_CONTROLTYPE_CUSTOM控件时,请使用此值。 |
|
当控件是MIXERCONTROL_CONTROLF_UNIFORM控件时,或者当应用程序需要获取和设置所有通道时,请使用此值,就像它们是统一的通道一样。 |
|
当行的所有通道上都预期控件的属性时,请使用此值。 |
应用程序无法指定介于 1 和音频线声道数之间的值。 例如,为四声道行指定 2 或 3 无效。 对于非自定义控件类型,此成员不能为 0。
对于非自定义控件类型,此成员不能为 0。
DUMMYUNIONNAME
DUMMYUNIONNAME.hwndOwner
拥有 mixer 控件的自定义对话框的窗口的句柄。 在 mixerSetControlDetails 函数中指定MIXER_SETCONTROLDETAILSF_CUSTOM标志时,使用此成员。
DUMMYUNIONNAME.cMultipleItems
要获取或设置属性的每个通道的多个项数。 定义了以下值:
使用不带MIXERCONTROL_CONTROLTYPE_CUSTOM标志的MIXERCONTROL_CONTROLTYPE_CUSTOM控件时,请为此成员指定零。
应用程序不能指定除在 MIXERCONTROL 结构的 cMultipleItems 成员中为MIXERCONTROL_CONTROLF_MULTIPLE控件指定的值之外的任何值。
cbDetails
使用以下详细信息结构之一的大小(以字节为单位):
名称 | 说明 |
---|---|
|
音频行控件的布尔值。 |
|
列出音频行控件的文本缓冲区。 有关特定控件的相应详细信息结构的信息,请参阅 控件类型。 |
|
音频行控件的有符号值。 |
|
音频线路控件的无符号值。 |
paDetails
指向一个或多个结构的数组的指针,其中检索或设置指定控件的属性。
对于MIXERCONTROL_CONTROLF_MULTIPLE控件,此缓冲区的大小应为 MIXERCONTROLDETAILS 结构的 cChannels、cMultipleItems 和 cbDetails 成员的乘积。 对于除MIXERCONTROL_CONTROLF_MULTIPLE类型之外的控件,此缓冲区的大小是 MIXERCONTROLDETAILS 结构的 cChannels 和 cbDetails 成员的乘积。
对于除MIXERCONTROL_CONTROLF_MULTIPLE类型之外的控件,此缓冲区的大小是 MIXERCONTROLDETAILS 结构的 cChannels 和 cbDetails 成员的乘积。 对于除MIXERCONTROL_CONTROLF_MULTIPLE类型之外的控件,此缓冲区的大小是 MIXERCONTROLDETAILS 结构的 cChannels 和 cbDetails 成员的乘积。
对于MIXERCONTROL_CONTROLF_MULTIPLE类型的控件,可以将数组视为通道主的二维数组。 也就是说,为左侧通道提供所有多个项,然后为右侧通道提供所有多个项,依此类比。
对于MIXERCONTROL_CONTROLF_MULTIPLE类型以外的控件,每个元素索引等效于它所影响的从零开始的通道。 也就是说,paDetails[0] 表示左通道,paDetails[1] 表示右声道。
如果控件是MIXERCONTROL_CONTROLTYPE_CUSTOM控件,则此成员必须指向至少足够大以包含 MIXERCONTROL 结构的 cbCustomData 成员指定的大小(以字节为单位)的缓冲区。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | mmeapi.h |