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

相关推荐
longxiaozhang631 分钟前
C#运算符重载:让对象也能使用“加减乘除”
开发语言·c#
mounter6251 小时前
GCCRS 突破与 Rust 入核:Linux 工具链的重大变革
linux·开发语言·rust·linux kernel·kernel
Buke..1 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(上):Frida 反调试绕过与 unidbg 调用
java·开发语言·爬虫·python·安卓
abcefg_h1 小时前
MCP 实战指南:如何在项目中使用 Model Context Protocol 及其通信原理
开发语言·后端·golang·mcp
头发够用的程序员2 小时前
ImportError: libopenblas.so.0: cannot open shared object file 完整复盘与解决方案
python·ubuntu
何以解忧,唯有..2 小时前
Python 线程编程:从入门到实战
开发语言·python
SomeB1oody3 小时前
【RustyML入门】7.2. 深入模型持久化
开发语言·后端·机器学习·rust·教程
yaoxin5211233 小时前
502. Java 反射 - 编写 MessageInterceptor 类
java·开发语言
wuyk5553 小时前
Python零基础入门第五章:元组Tuple(不可变容器详解、列表与元组区别)
开发语言·python