控制系统音量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;
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;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)