setVo。Qt|Qt 使用QMediaPlayer播放MP3。" />

Qt|Qt 使用QMediaPlayer播放MP3

代码很简单,直接复制帮助里的代码:

#include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QMediaPlayer * player = new QMediaPlayer; player->setMedia(QUrl::fromLocalFile("D:/test.mp3")); player->setVolume(50); player->play(); return a.exec(); }

在VS里运行也没问题,但是直接点击exe运行就开始报错
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
很简单的觉得应该是缺少插件,那么去QT目录复制mediaservice到exe目录,再次运行还是报错,就开始无语了
经过多次尝试,终于知道少了什么
使用QMediaPlayer需要如下组件:
插件:mediaservice 在QT安装目录的plugins文件夹下
Qt5Core.dll
Qt5Gui.dll
Qt5Multimedia.dll
Qt5Network.dll 双击运行时提示缺少
Qt5Widgets.dll 需要这个dll觉得很奇怪,但是缺少就会上面的错误,为什么双击运行时不提示!!!
本来只是想在windows下测试一下,然后在arm板上用的,相同的代码,也按windows的加了相应的库,但是还是一样的报错
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
【Qt|Qt 使用QMediaPlayer播放MP3】没办法,最后只能用QSound类代替,但是QSound只能播放wav文件

    推荐阅读