QtQuick:无法在嵌入式Linux上播放任何视频

时间:2014-04-09 14:45:49

标签: qt media-player qt5 qt-quick qtmultimedia

我使用TI提供的工具链及其SDK 6.00.00交叉编译了TI AM335x板的Qt 5.2.1。

不幸的是我无法在QML中复制任何视频......

调试控制台告诉:

defaultServiceProvider::requestService(): no service found for – “org.qt-project.qt.mediaplayer”

在交叉编译中是否存在我遗漏的内容?也许是一些依赖? 有人可以帮助我确定我缺少的东西吗?

您可以在设置环境变量QT_DEBUG_PLUGIN

时找到here我的交叉编译配置和here应用程序生成的完整消息。

1 个答案:

答案 0 :(得分:2)

您缺少可以实际播放音频的QtMultimedia后端。它没有安装到正确的目录中,或者它没有构建。由于您的日志输出显示找到一个后端(音频捕获一个),因此我排除了安装问题。

您需要使用适当的依赖关系重建QtMultimedia。例如,当构建QtMultimedia时发现gstreamer时,将构建一个GStreamer后端插件。 Qt文档有a list of available backends

当你构建QtMultimedia时,它实际上会告诉你它找到了哪些库,这表明将构建哪些后端。这是在桌面Linux的QtMultimedia上运行qmake时的示例输出 - 它为我构建了一个gstreamer后端:

Running qmake /home/thomas/src/qt/qtmultimedia-stable ...
Info: creating cache file /home/thomas/build/qt/qtmultimedia-stable/.qmake.cache
Checking for openal... no
Checking for alsa... yes
Checking for pulseaudio... no
Checking for gstreamer... yes
Checking for gstreamer_photography... no
Checking for gstreamer_encodingprofiles... yes
Checking for gstreamer_appsrc... yes
Checking for resourcepolicy... no