解决QT no service found for – org.qt-project.qt.mediaplayer问题

 

背景:项目中使用到了QMediaPlayer类播放音频文件,编译好后发现在X86-Linux上运行正常,但是到嵌入式系统运行时会报no service found for – org.qt-project.qt.mediaplayer,在网上找了一圈发现都没能解决我的问题,最后找到了以下的解决方法,希望对被同样问题困扰过的同学们有帮助。

参考:
https://nachega.com/2018/12/19/how-to-solve-defaultserviceproviderrequestservice-no-service-found-for-org-qt-project-qt-mediaplayer/

https://stackoverflow.com/questions/47524552/qt-no-service-found-for-org-qt-project-qt-mediaplayer

由于QT的MultiMedia依赖于Gstreamer的,因此需要装好gstreamer的几个库:
![d429468da865f33fae06098a772b6967.png](en-resource://database/1643:1)

https://samwhelp.github.io/note-ubuntu-18.04/read/howto/install-tool/gstreamer/
安装好ffmpeg

安装好后,如果还是找不到服务,打开调试开关:

export QT_DEBUG_PLUGINS=1

运行程序,看报什么错误

如果还是找不到,还要确保QT的plugins目录下,如下有几个目录有需要的库文件:
plugins/audio/
libqtaudio_alsa.so  libqtmedia_pulse.so
plugins/mediaservice/
libgstaudiodecoder.so  libgstcamerabin.so  libgstmediacapture.so  libgstmediaplayer.so
plugins/playlistformats/
libqtmultimedia_m3u.so

这些安装好后,Qt mediaplayer就可以用起来了。

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值