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文件
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用
- 使用协程爬取网页,计算网页数据大小