我使用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
答案 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