应用前提:只需要从阿里云数据库中读取选定的某一条实验数据的音频(.wav),现在的测试版本只是播放本地音频,所以做的这个音频播放器只有6个功能:播放、暂停、音量条、静音、进度条、显示当前播放进度的时间,丑是丑了点但能满足需求。
接下来详细说一下是怎么实现的。
先创建新的项目,选择Qt Widget Application,名称我的是AudioDemo4,选择MSVC2017 32bit编译(实验室项目需求),类名我的是Music,基类选择QWidget,界面创不创建都可以,我创建了。至于上图中的播放、暂停、滑块、静音图标都是从阿里巴巴矢量图标库(iconfont-阿里巴巴矢量图标库)下载的。右键AudioDemo4项目,添加新文件,选择Qt的Qt Resource File,起名为my,先添加前缀(我改为了/),再添加图标,整个项目目录如下图所示。
在Qt中实现音频播放器需要用到QMediaPlayer,因此需要在AudioDemo4.cpp里加上这句代码:
music.h:
#ifndef MUSIC_H
#define MUSIC_H
#include <QWidget>
#include <QDebug>
#include <QCursor>
#include <QPushButton>
#include <QSlider>
#include <QMediaPlayer>
#include <QTimer>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QLabel>
#include <QTime>
#include <QMediaPlaylist>
#define HOSTNAME "自己云数据库的地址"
#define DATABASE_NAME "数据库名"
#define USERNAME "用户名"
#define PASSWORD "密码"
namespace Ui {
class Music;
}
class Music : public QWidget
{
Q_OBJECT
public:
explicit Music(QWidget *parent = 0);
~Music();
QPushButton *playBtn; //播放按钮