QT 实现播放器中音量控制 |
您所在的位置:网站首页 › b503音量调节器怎么测量 › QT 实现播放器中音量控制 |
在视频播放器中,要实现拖动控制条来调节音量,是一件很必要也很简单的事情。下面具体来说一说。 首先,打开.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 |