最近练习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();
资源文件截图如下:
红框内的媒体是今天添加的,其他的则是昨天添加的。
音乐媒体都没有损坏或异常,但是唯有今天添加到资源文件下的音乐媒体不能被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更新】
今天又试了几个音频文件,发现新添加的文件中,体积小的(比如只有半分钟的那种)都可以正常播放……不太理解,总之问题就(假装)结束了罢