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

需求:在Qt中播放背景音乐,代码片段如下:

1、.pro添加组件  : QT += multimedia

2、使用 QMediaPlayer 对象实现播放音乐:

//循环播放背景音乐
void ClearApp::playBG()
{
    QMediaPlayer* player = new QMediaPlayer();
    player->setMedia(QUrl::fromLocalFile("D:\mySoftWare\Qt\Qt5.2.1\Tools\QtCreator\bin\clear\imgs\music\bgm.mp3"));
    player->setVolume(50);
    player->play();
}

报错: DirectShowPlayerService::doSetUrlSource: Unresolved error code 80070002

解决办法

          试过网上说的添加LAV Filters插件,还是报错,后来看错误提示,怀疑是否路径格式写错了,于是将"\"改为"\\",音乐播放成功,更改代码如下:

//循环播放背景音乐
void ClearApp::playBG()
{
    QMediaPlayer* player = new QMediaPlayer();
    player->setMedia(QUrl::fromLocalFile("D:\\mySoftWare\\Qt\\Qt5.2.1\\Tools\\QtCreator\\bin\\clear\\imgs\\music\\bgm.mp3"));
    player->setVolume(50);
    player->play();
}

总结:

        在qt中文件路径有时候识别的是"\\",写"\"可能报url类错误,这个具体的与QT版本和win版本相关,同样的代码有时候"\"也可以通过,不过最好"\\",加上转译保险一点

 

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值