我使用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应用程序生成的消息的完整轨迹。

最佳答案

您缺少可以实际播放音频的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

09-28 02:00