一、前言

在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐。但是一个对于一个音乐播放器来说,这是远远不够的,至少我们需要有一个简单的用户操作界面吧,让用户开业选择开始和暂停吧。那么让我们开始吧。

二、按钮

如图所示,双击mainwindow.ui,进入设计界面。

qt音乐播放器搜索引擎 qt音乐播放器界面_音乐播放


如图所示,Qt的设计界面就长这样。

qt音乐播放器搜索引擎 qt音乐播放器界面_qt音乐播放器搜索引擎_02


如图所示,在其中button这一栏中,可以看到有很多不同的Button(按钮)。

只是简单的播放暂停我们选择PushButton就可以了,其他的,大家可以自己研究一下。

qt音乐播放器搜索引擎 qt音乐播放器界面_qt_03


如图所示,选中PushButton,将其拖拽到界面中。

qt音乐播放器搜索引擎 qt音乐播放器界面_qt_04


然后双击我们界面上的PushButton按钮,将其重命名,Play(播放),Pause(暂停)。

qt音乐播放器搜索引擎 qt音乐播放器界面_gui_05


选择play按钮,我们可以看到,图中右侧,为了方便我们编程,我们将其名字进行修改:btnPlay(其中,btn为button的缩写,Play为按钮的功能)。同样另一个按钮我们也修改为:btnPause。

qt音乐播放器搜索引擎 qt音乐播放器界面_c++_06


qt音乐播放器搜索引擎 qt音乐播放器界面_qt音乐播放器搜索引擎_07

三、代码

界面我们大概就设计好了,那么代码该怎么做呢?
首先先把在(一)里注释的代码解开,把我们写的删掉。

#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

qt音乐播放器搜索引擎 qt音乐播放器界面_qt音乐播放器搜索引擎_08


双击mainwindow.h,如图所示,加上圈起来的两行代码

qt音乐播放器搜索引擎 qt音乐播放器界面_gui_09


然后,打开设计界面,选中Play,右键,点击转到槽。

qt音乐播放器搜索引擎 qt音乐播放器界面_音乐播放_10


选择点击clicked后,点击OK。

qt音乐播放器搜索引擎 qt音乐播放器界面_qt音乐播放器搜索引擎_11


这时候代码自动跳转到mainwindow.cpp,并出现on_btnPlay_clicked()函数。这个函数中就代表着,点下Play按钮后,触发的事件。

qt音乐播放器搜索引擎 qt音乐播放器界面_c++_12


在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();
}

qt音乐播放器搜索引擎 qt音乐播放器界面_qt音乐播放器搜索引擎_13


如法炮制,暂停按钮,双击mainwindow.ui,pause按钮,我们也转到槽,并且在on_btnPause_clicked()中增加如下代码

void MainWindow::on_btnPause_clicked()
{
    if(QMediaPlayer:: PlayingState == m_mediaPlayer.state()){
        m_mediaPlayer.pause();
    }
}

qt音乐播放器搜索引擎 qt音乐播放器界面_c++_14

四、使用

如下图所示,点击图中的绿色小三角,程序开始构建。

qt音乐播放器搜索引擎 qt音乐播放器界面_qt_15


出现下图,代表构建完成,

点击Play按钮,音乐播放,

点击Pause按钮,音乐暂停。

qt音乐播放器搜索引擎 qt音乐播放器界面_c++_16

五、拓展

当然,仅有播放和暂停,对于一个音乐播放器来说,还是远远不够的,那么下一篇博客(三)中,增加新的功能。