草堂春睡足 2022-07-08 13:50
浏览 85
已结题

Qt使用QMediaPlaylist,资源文件下部分音乐媒体无法播放

最近练习Qt,想用QMediaPlaylist进行音乐播放的功能实现。但是发现运行的时候,资源文件下只有部分音乐媒体可以播放,另外一部分则不能播放,有点懵了

代码如下:

        QMediaPlaylist *playlist1 = new QMediaPlaylist;
        playlist1->addMedia(QUrl("qrc:/image/image/Mabanua - The theme of Mac.mp3"));   //没有播放
        //playlist1->addMedia(QUrl("qrc:/image/image/Mabanua - MEGALOBOX.mp3"));   //可以播放
        playlist1->setCurrentIndex(0);
        playlist1->setPlaybackMode(QMediaPlaylist::Loop);
        QMediaPlayer *player_BGM = new QMediaPlayer;
        player_BGM->setPlaylist(playlist1);
        player_BGM->setVolume(BGMvolume);
        player_BGM->play();

资源文件截图如下:

img


红框内的媒体是今天添加的,其他的则是昨天添加的。
音乐媒体都没有损坏或异常,但是唯有今天添加到资源文件下的音乐媒体不能被Qt播放。

运行结果及报错内容

使用

playlist1->addMedia(QUrl("qrc:/image/image/Mabanua - The theme of Mac.mp3"));

时没有音乐播放;
使用

playlist1->addMedia(QUrl("qrc:/image/image/Mabanua - MEGALOBOX.mp3"));

时有音乐播放。

我最开始使用的是绝对路径,即

playlist1->addMedia(QUrl::fromLocalFile("D:/Qt_test/GoBang/image/Mabanua - The theme of Mac.mp3"));

但这同样无法播放;而对于昨天添加的音乐媒体就可以播放。

我认为可能不是路径的问题,但我不明白为什么会有这样的结果?应该如何去修改它?

【7.9更新】
今天又试了几个音频文件,发现新添加的文件中,体积小的(比如只有半分钟的那种)都可以正常播放……不太理解,总之问题就(假装)结束了罢

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 7月16日
    • 修改了问题 7月9日
    • 修改了问题 7月8日
    • 创建了问题 7月8日

    悬赏问题

    • ¥15 c++ gmssl sm2验签demo
    • ¥15 关于模的完全剩余系(关键词-数学方法)
    • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
    • ¥30 模拟电路 logisim
    • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
    • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
    • ¥15 安装quartus II18.1时弹出此error,怎么解决?
    • ¥15 keil官网下载psn序列号在哪
    • ¥15 想用adb命令做一个通话软件,播放录音
    • ¥30 Pytorch深度学习服务器跑不通问题解决?