Qt 使用QMediaPlayer播放MP3

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

#include <QtCore/QCoreApplication>

#include <QtMultimedia/QMediaPlayer>

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"

没办法,最后只能用QSound类代替,但是QSound只能播放wav文件

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Qt是属于一个跨平台的GUI开发软件,支持的平台有Unix、Linux、Windows/WinCE、IOS等。 Q...
    一叶之界阅读 8,205评论 0 17
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,779评论 0 11
  • [Qt开发环境的搭建和hello world](http://www.qter.org/portal.php?mo...
    S大偉阅读 833评论 0 1
  • 数字图像处理课设需要用到Qt。好久不用,按照官网安装教程安装好之后,发现无法编译运行程序,会报错: 谷歌了一下之后...
    共醉明月Nessa阅读 10,144评论 0 0
  • 早上起来听了20分钟英语听力,才发现多年未学习,听力水平已下降太多太多。以前学习似乎更多为了考试,X大...
    smile200709阅读 112评论 0 0