Qt5 + VS 2013 音乐播放器

             最近两个礼拜以来,一直纠结这个使用Qt5 中的Mediaplayer 做音乐播放器的问题,鉴于网上流传较多的都是基于Qt4 Phonne的,在此为了交流学习,把自己的成果与大家共享下。 

          实现功能:

                       1、普通音乐播放:暂停、播放、下一首、上一首、循环、单曲循环与随机播放;音量、进度调节;

                       2、桌面歌词:同步桌面歌词;

                       3、播放列表:显示播放列表、播放列表排序、播放列表更改(删除、清空)、保存播放列表;

                       4、歌曲添加:本地添加音乐、添加播放列表;

                       5、最小化到托盘;

                       6、右击播放列表可以删除音乐及保存播放列表;

         缺陷:

                      1、只能实现单句歌词显示;

                      2、只能解析英文歌词;

                      3、播放列表中各项无法移动,即通过鼠标拖动来实现上下移动;

                      4、只能播放本地音乐;

                      5、各Label及歌词上的文字在无法完全显示时,无法自动左右移动;

播放效果:

主页面:


Button1: 显示桌面歌词;Button 2:显示播放列表 ; Button 3: 显示设置面板;Button4: 最小化到托盘;Button 5:退出

  Button1 :添加本地歌曲;Button 2:排序;Button 3:导入播放列表(txt);Button 4: 保存播放列表;Button5:删除选中行音乐;Button 6:隐藏播放列表


设置面板效果,图中的按钮都有提示,这里不赘述;



  歌词播放效果;

代码稍后上传。

Qt C++中创建一个基本的音频播放器通常需要使用QMediaPlayer和相关的信号槽机制。以下是一个简单的例子,展示了如何在一个窗口应用中播放MP3文件: ```cpp #include <QApplication> #include <QWidget> #include <QPushButton> #include <QMediaPlayer> #include <QRadioButton> class MusicPlayer : public QWidget { public: MusicPlayer(QWidget *parent = nullptr) : QWidget(parent) { QVBoxLayout *layout = new QVBoxLayout(this); QPushButton *playButton = new QPushButton("Play", this); playButton->setClicked.connect([this] { if (player.state() == QMediaPlayer::PlayingState) { player.pause(); } else { player.play(); } }); layout->addWidget(playButton); QPushButton *stopButton = new QPushButton("Stop", this); stopButton->setClicked.connect([this] { player.stop(); }); layout->addWidget(stopButton); // 创建QMediaPlayer实例并初始化 QMediaPlayer mediaPlayer; mediaPlayer.setMedia(QUrl("path_to_your_audio_file.mp3")); // 替换为你的音频文件路径 // 设置播放器为窗口的一部分 setCentralWidget(&mediaPlayer); } private: QMediaPlayer player; }; int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建音乐播放器窗口 MusicPlayer playerWindow; playerWindow.resize(600, 200); playerWindow.setWindowTitle("Simple Audio Player"); playerWindow.show(); return app.exec(); } ``` 在这个示例里,我们创建了一个窗口,内含两个按钮,用于控制播放和停止。当用户点击"Play"按钮时,如果媒体正在播放则暂停,反之则开始播放;点击"Stop"按钮则停止播放。 注意,你需要替换`QUrl("path_to_your_audio_file.mp3")`为你的实际音频文件路径。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值