Ubuntu Qt: no service found for - “org.qt-project.qt.mediaplayer“

1、前言

在一次项目过程中,因项目需求,需要将windows开发的Qt项目迁移到ubuntu系统中,且在某个功能项中需要播放音频,在windows系统中能够正常运行,但在ubuntu系统中却显示defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"错误,在网上查找资料后解决问题,在此进行记录。

2、问题原因

根据查找的多篇参考文章,考虑可能为QT的MultiMedia依赖于Gstreamer的,因此需要装好gstreamer的几个库,但是经过查找发现已经存在gstreamer相关库,之后打开调试开关:在~/.bashrc文件的最后添加export QT_DEBUG_PLUGINS=1,通过source ~/.bashrc命令生效后,在命令行运行Qt生成的可执行程序,发现在查找/usr/lib/aarch64-linux-gnu/qt5/plugins/mediaservice的库出错,经过排查,发现不存在该目录,最终确定问题原因为ubuntu系统中Qt安装时默认没有安装MultiMedia模块导致。

3、解决方法

通过命令行

bash 复制代码
sudo apt-get install libqt5multimedia5-plugins

安装MultiMedia模块后,重新打开Qt,成功解决问题

4、参考文章

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

Qt: defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"

qt-no-service-found-for-org-qt-project-qt-mediaplayer

相关推荐
钮钴禄·爱因斯晨7 分钟前
深入剖析LLM:从原理到应用与挑战
开发语言·人工智能
六点半88823 分钟前
【C++】C++11 篇二
开发语言·c++
DDDDDDDRDDR30 分钟前
C++容器:list
开发语言·c++·stl
Elnaij35 分钟前
从C++开始的编程生活(7)——取地址运算符重载、类型转换、static成员和友元
开发语言·c++
chen_ever1 小时前
golang之go modules
开发语言·后端·golang
郝学胜-神的一滴1 小时前
Effective Modern C++ 条款26:避免在通用引用上重载
开发语言·c++·程序人生
草莓熊Lotso1 小时前
【C++】递归与迭代:两种编程范式的对比与实践
c语言·开发语言·c++·经验分享·笔记·其他
Aczone282 小时前
硬件(六)arm指令
开发语言·汇编·arm开发·嵌入式硬件·算法
YA3333 小时前
java设计模式二、工厂
java·开发语言·设计模式
逐雨~3 小时前
9.8C++作业
开发语言·c++