mfc使用Slider控件控制系统的音量

本文介绍了如何使用MFC结合Microsoft的mixer API来控制系统的音量。通过mfcOpen、mixerGetNumDevs、mixerGetDevCaps等函数,可以实现对混音器设备的操作,包括打开、关闭以及获取音频线路信息和控制属性。在对话框工程中添加Slider控件,并关联控制变量,通过OnVScroll事件处理函数,实现了音量的调节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前想实现这个功能,找了很多资料,全都不给力,最后发现Microsoft给的那才是可以用的,总的来说就是使用mixer api来打开混音器设备、获得音频线路信息、然后设定属性。实现这个之后,就可以用在你写的程序比如播放器上面啦。

 

总共就下面几个函数:

通过这9个API,我们就可以来控制音频的输入和输出设备了,其实有关这几个函数的定义你可以在C:/Program Files/Microsoft Visual Studio/VC98/Include/mmsystem.h文件中找到。下面我简单介绍一下这几个函数,详细地介绍你可以参见msdn。

  mixerOpen和mixerClose函数用来打开和关闭混音器设备

  mixerGetNumDevs可以确定系统中有多少混音器设备

  mixerGetDevCaps函数可以确定混音器设备的能力

  mixerGetLineInfo可以检索指定音频线路的信息

  mixerGetLineControls用于检索一个或者多个与音频线路相关的控制的通用信息

  mixerGetControlDetails用于检索与某个音频线路相关的一个控制的属性

  mixerSetControlDetails用于设置制定控制的属性。

 

对话框工程(工程->设置->链接 添加winmm.lib,头文件包含mmsystem.h),添加一个slider控件,关联control变量m_volume

我把那个滑块设为了垂直样式,仿右下角那个小喇叭的风格:)

但是这样一来我发现一个问题,垂直样式默认刻度是上边小下边大,而我想实现的是下边为0刻度,上面为最大值,google一下无解决方案。

csdn就是智慧无穷,我被鄙视了。。。kemee童鞋说“..... 我是自己再做个运算的....比如0~100,不管什么数据要在控件上显示了,就和100先做个运算,再设置,这样0就显示100,100的时候就显示0了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值