HMI-55-【多媒体】音乐播放器 4
今天我们接着搞音乐播放器,今天主要实现音乐播放器的播放音频功能
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SO2YjNyIGOzYzM0MjY1UzNyYzX4IDMzEDM3AzLcVDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
当前进度
今天已经使用QMediaPlayer实现了音频文件的播放,但是效果不是很理想,比如我想读取音频信息的歌手,专辑信息不知道咋读。还是有点问题,也不知道歌曲名字如何添加列表,还没有搞出来,仅仅实现了播放功能。把核心播放音频代码分析分享。
文章目录
- HMI-55-【多媒体】音乐播放器 4
关键字:
- 当前进度
- 头文件
- 源文件
- 第三阶段成果展示
- 第二阶段成果展示
- 第一阶段成果展示
、
HMI
、
Multifunction
、
Qt
、
QMediaPlayer
Music
头文件
/**
* @brief The MusicAduioThread class
* 音频播放类
*/
class MusicAduioThread : public QThread
{
Q_OBJECT
public:
explicit MusicAduioThread(QObject *parent = nullptr);
/**
* @brief play
* @param temp
* 播放对应音频
*/
void play(QString temp = "qrc:/Multifunction/Resources/MultifunctionDisplay/Audio/DreamLife.wav");
/**
* @brief setVolume
* @param value
* 设置音量
*/
void setVolume(int value = 80);
/**
* @brief stop
* 停止播放
*/
void stop();
/**
* @brief pause
* 暂停
*/
void pause();
private:
/**
* @brief run
* 线程函数
*/
void run();
private:
QMediaPlayer* mediaPlayer; //音频播放器
QString mUrl = ""; //音乐地址
};
源文件
MusicAduioThread::MusicAduioThread(QObject *parent)
{
Q_UNUSED(parent)
mediaPlayer = new QMediaPlayer(this,QMediaPlayer::LowLatency);
}
void MusicAduioThread::play(QString temp)
{
mUrl = temp;
this->start();
}
void MusicAduioThread::setVolume(int value)
{
mediaPlayer->setVolume(value);
}
void MusicAduioThread::stop()
{
mediaPlayer->stop();
}
void MusicAduioThread::pause()
{
mediaPlayer->pause();
}
void MusicAduioThread::run()
{
mediaPlayer->stop();
mediaPlayer->setMedia(QUrl(mUrl));
mediaPlayer->play();
}
今天就到这里了。
第三阶段成果展示
目前已完成液晶仪表三种模式的初步显示,小模块后期根据精力更新了,主要还得找美术来搞资源,自己能力不够。暂未跟新计划。展示如下:
基于Qt的汽车仪表模拟 3.0
B站链接:https://www.bilibili.com/video/BV1WS4y137y1/
第二阶段成果展示
目前以完成HUD界面及接口开发,液晶仪表舒适模式和运动模式的开发。展示如下:
基于Qt的汽车仪表模拟 2.0
B站链接:https://www.bilibili.com/video/BV1aq4y1t7H7/
第一阶段成果展示
目前以完成HUD界面及接口开发,液晶仪表舒适模式开发。展示如下:
基于Qt的汽车仪表模拟 1.0)