报错: DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80070003 ()

参考了网上的种种建议,说一下自己是怎么解决的。

测试代码

//音频播放列表
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”
等价。

②下载解码器

有两个选择:

  1. LAVFilters 下载路径:https://github.com/Nevcairiel/LAVFilters/releases
  2. K-Lite_Codec Pack 下载路径:http://www.codecguide.com/download_kl.htm

默认安装位置即可(几十M)。

你可能感兴趣的:(报错: DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80070003 ())