参考了网上的种种建议,说一下自己是怎么解决的。
测试代码
//音频播放列表
QMediaPlaylist* mdPlayList;
mdPlayList = new QMediaPlaylist(this);
//注意这里使用QUrl::fromLocalFile(这里使用绝对路径)
mdPlayList->addMedia(QUrl::fromLocalFile("D:\\QTapplication\\mp3\\yequ.mp3"));
//设置播放模式(顺序播放,单曲循环,随机播放等)
mdPlayList->setPlaybackMode(QMediaPlaylist::Loop);
QMediaPlayer* my_player;
my_player = new QMediaPlayer(this);
//connect(my_player, SIGNAL(positionChanged(qint64)), this, SLOT(positionChanged(qint64)));
my_player->setPlaylist(mdPlayList);
my_player->setVolume(70);
//my_player->play();
①使用addMedia(QUrl::fromLocalFile(使用绝对路径))
注意:
路径: “D:\QTapplication\mp3\yequ.mp3” (使用转义字符\)
和 “D:/QTapplication/mp3/yequ.mp3”
等价。
②下载解码器
有两个选择:
- LAVFilters 下载路径:https://github.com/Nevcairiel/LAVFilters/releases
- K-Lite_Codec Pack 下载路径:http://www.codecguide.com/download_kl.htm
默认安装位置即可(几十M)。