一、前言
在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐。但是一个对于一个音乐播放器来说,这是远远不够的,至少我们需要有一个简单的用户操作界面吧,让用户开业选择开始和暂停吧。那么让我们开始吧。
二、按钮
如图所示,双击mainwindow.ui,进入设计界面。
如图所示,Qt的设计界面就长这样。
如图所示,在其中button这一栏中,可以看到有很多不同的Button(按钮)。
只是简单的播放暂停我们选择PushButton就可以了,其他的,大家可以自己研究一下。
如图所示,选中PushButton,将其拖拽到界面中。
然后双击我们界面上的PushButton按钮,将其重命名,Play(播放),Pause(暂停)。
选择play按钮,我们可以看到,图中右侧,为了方便我们编程,我们将其名字进行修改:btnPlay(其中,btn为button的缩写,Play为按钮的功能)。同样另一个按钮我们也修改为:btnPause。
三、代码
界面我们大概就设计好了,那么代码该怎么做呢?
首先先把在(一)里注释的代码解开,把我们写的删掉。
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
双击mainwindow.h,如图所示,加上圈起来的两行代码
然后,打开设计界面,选中Play,右键,点击转到槽。
选择点击clicked后,点击OK。
这时候代码自动跳转到mainwindow.cpp,并出现on_btnPlay_clicked()函数。这个函数中就代表着,点下Play按钮后,触发的事件。
在on_btnPlay_clicked()中加入以下代码,如图所示
void MainWindow::on_btnPlay_clicked()
{
if(QMediaPlayer:: PausedState != m_mediaPlayer.state()){
m_mediaPlayer.setVolume(50);
m_mediaPlayer.setMedia(QUrl::fromLocalFile("D:\\music\\BIGBANG - LOSER (Live).mp3"));
}
m_mediaPlayer.play();
}
如法炮制,暂停按钮,双击mainwindow.ui,pause按钮,我们也转到槽,并且在on_btnPause_clicked()中增加如下代码
void MainWindow::on_btnPause_clicked()
{
if(QMediaPlayer:: PlayingState == m_mediaPlayer.state()){
m_mediaPlayer.pause();
}
}
四、使用
如下图所示,点击图中的绿色小三角,程序开始构建。
出现下图,代表构建完成,
点击Play按钮,音乐播放,
点击Pause按钮,音乐暂停。
五、拓展
当然,仅有播放和暂停,对于一个音乐播放器来说,还是远远不够的,那么下一篇博客(三)中,增加新的功能。