QT 实现播放器中音量控制

您所在的位置:网站首页 b503音量调节器怎么测量 QT 实现播放器中音量控制

QT 实现播放器中音量控制

2024-06-09 15:49| 来源: 网络整理| 查看: 265

      在视频播放器中,要实现拖动控制条来调节音量,是一件很必要也很简单的事情。下面具体来说一说。

     首先,打开.ui文件,在合适的位置拖进去一个Slider,就像这样,看右下角。

     为了形象一点,可以在其左边放置一个小喇叭,以示这是用来调节音量的。

     然后,设置信号与槽。方法是,选中Slider,然后点击左上角的信号与槽。

     接下来, 选中Slider,朝外一指,会弹出一个窗口,选择valueChanged(),表示当进度值改变时触发。其余几个表示的含义是:sliderPressed()当用户按下时触发;sliderMoved()当用户拖动滑块时触发;sliderReleased()当用户释放滑块时触发。

     当我们选中valueChanged()后,在右侧可以编辑槽函数,添加一个changeVolume()函数,就可以了。

     然后再代码里添加一些语句。(手动添加方式,如果是右击转到槽函数会简单一些)

     首先,在 .h头文件中,声明一个槽函数。见第40行

     然后,在.cpp文件中添加connect连接函数。

     conncect(ui.horizontalSlider,SIGNAL(QSlider::valueChanged(int)),this,SLOT(changeVolume()));

        第一个参数表示Object,也就是我音量控制条的名字。第二个参数表示信号,第三个是接受对象,一般是this,最后一个是槽函数。

     最后,是编辑槽函数。

 

     其中,player是QMediaPlayer对象,直接调用setVolume()方法即可。参数就是滑块对应的值。

     在做这部分功能时,我一直发现,音量调节不了,无论设置哪一个信号,sliderPressed(),sliderMoved()还是valueChanged()信号,拖动滑块,音量不变化。调了一个晚上加一个上午,没发现问题。后来把.ui文件关闭保存了之后,重新运行发现没问题了,难道是信号与槽函数在VS2013下无法动态更新。。但是我的播放进度条在编写的时候就没遇到这个问题。欢迎也同样遇到音量调不了的朋友一起交流。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3