我有一台笔记本电脑和一台电脑,我想测试 Media Player example Qt.
在我的笔记本电脑上,一切正常,但在我的电脑上,我收到以下消息:
no service found for - "org.qt-project.qt.mediaplayer"
我已经安装了 Multimedia Dependencies但它没有任何改变。
所以我试图通过使用突触来找到丢失的数据包,并且在两台计算机上,通过搜索 Gstreamer 得到了相同的结果:
我还创建了两个文件来与此命令进行比较:
apt list | grep inst > apt_list.txt
# and
apt list | grep inst > apt_list_laptop.txt
tkdiff apt_list.txt apt_list_laptop.txt
我找不到丢失的东西,我请求你的帮助找到它。
编辑:
我使用 QT_DEBUG_PLUGINS=1
运行程序,在计算机上我有:"QLibraryPrivate::loadPlugin failed on "/home/.../libgstmediaplayer.so"
也有人说它打不开libgstaudio-0.10.so.0
,但是在笔记本上它使用的是1.0版本
。
并且有效地,当我写:
ldd libgstmediaplayer.so
它在我的电脑上与 gstreamer0.10 链接,在我的笔记本电脑上与 1.0 链接
最佳答案
我找到了原因,是因为 QtCreator 使用位于 /home/user/Qt/5.5/gcc_64/plugins/mediaservice/
的库,但是这些库使用gstreamer 0.10 版本:
Qt Multimedia Module: Added GStreamer 1.0 support. Note that the default is still 0.10.
libqt5multimedia5-plugins
包中的库使用 1.0 版本。因此,要在没有“无服务”消息的情况下启动媒体播放器,我使用命令行进行了编译:
qmake player.pro && make
通过这种方式,qmake 使用系统库而不是位于 Qt 文件夹中的库。
关于linux - 如何在 Qt5.5 中使用 gstreamer1.0 而不是 0.10?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49348575/