Platform SDK 中控制系统音量的另一个重要结构MIXERLINECONTROLS结构体定义

      MIXERLINECONTROLS结构体定义
MIXERLINECONTROLS
typedef struct{
DWORD cbStruct;
指示出MIXERLINECONTROLS结构的大小(字节单位)。该成员必须在调用mixerGetLineControls函数之前被初始化。这个大小必须足以包括基本的MIXERLINECONTROLS结构。当mixerGetLineControls返回,该成员包括了返回信息的实际大小。返回信息不超过请求的大小,也不能小于基本的MIXERLINECONTROLS结构。
DWORD dwLineID;
将要被查询的控制的线路标识符。在mixerGetLineControls函数使用了MIXER_GETLINECONTROLSF_ONEBYID标志的时候该成员无效,但此时混音设备仍然返回这个成员的值。
union{
 DWORD dwControlID;
期望要控制的控制标识符。该成员用来在mixerGetLineControls函数使用了MIXER_GETLINECONTROLSF_ONEBYID标志的时候查询特定控制的控制信息,此时dwLineID成员作为返回参数而非输入参数。本成员与dwControlType一致,并且不能和MIXER_GETLINECONTROLSF_ONEBYTYPE查询类型一起使用
 DWORD dwControlType;
期望要控制的控制类型,该成员用来在mixerGetLineControls函数使用了MIXER_GETLINECONTROLSF_ ONEBYTYPE标志的时候,检索由dwLineID定义的线路上特定类型的第一个控制的控制信息。本成员与dwControlID一致,并且不能和MIXER_GETLINECONTROLSF_ONEBYID查询类型一起使用。
* dwControlID和dwControlType在指定了MIXER_GETLINECONTROLSF_ALL的时候无效。
};
DWORD cControls;
要检索的MIXERLINECONTROLS结构体元素的数目。该成员必须在调用mixerGetLineControls函数之前被初始化。只有在定义了MIXER_GETLINECONTROLSF_ONEBYID 或MIXER_GETLINECONTROLSF_ONEBYTYPE时本成员可以取值“1”,否则取值为音频线路返回的MIXERLINE 结构体成员cControls的值。不能取“0”。如果一个音频线路指定为没有控制,则不可调用mixerGetLineControls函数。
DWORD cbmxctrl;
单个MIXERCONTROL结构大小,这个大小必须足以包括基本的MIXERCONTROL结构。指针pamxctrl指向的buffer的总大小应该是cbmxctrl和cControls成员的乘积。
LPMIXERCONTROL pamxctrl;
指向一个或多个MIXERCONTROL结构,接收所请求的音频线路控制的属性。该成员不能为NULL且必须在调用mixerGetLineControls函数前被初始化。该数组的每个元素必须足以包括基本的MIXERCONTROL结构。Cbmxctrl指定数组的每个元素的大小。本成员所指向的buffer不需要初始化。调用成功后,所有成员(包括每个MIXERCONTROL结构里的cbStruct成员)都由混音设备(mixer device)填写好值。
} MIXERLINECONTROLS;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值