Qt播放音乐DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80070002 ()

在Qt中实现背景音乐的播放是常见的需求,使用QMediaPlayer即可实现

但是需要注意以下问题:

在使用QMediaPlayer需要在项目文件.pro加入QT += multimedia

在UI设计界面添加一个pushbutton按钮,编辑其响应槽函数如下:

void MainWindow::on_pushButton_clicked()
{
    music();
}

void MainWindow::music()
{
    //音乐播放
    QMediaPlayer *myPlayer= new QMediaPlayer;
    myPlayer->setMedia(QUrl::fromLocalFile("../music/背景音乐.mp3"));
    myPlayer->setVolume(80);
    myPlayer->play();
}

但是在编译运行时,出现了错误提示:

DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80070002 ()

经过搜索得知:Qt 中的多媒体播放,底层是使用DirectShowPlayerService,需要一个DirectShow解码器,例如LAV Filters

参考链接如下:https://blog.csdn.net/qqwangfan/article/details/52469859

LAV Filters的下载地址如下:http://files.1f0.de/lavf/LAVFilters-0.65.exe

 

将文件下载之后,安装到Qt的安装目录,即可实现MP3的播放,如果安装之后仍然无法播放,请尝试重启

虽然很轻易的就能查到需要安装LAV Filters,但是大多数教程都说的模糊不清,令人疑惑不解,因此将自己的解决方法记录下来供大家参考

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值