Raspberry Pi 的 QTMultimedia 编译

use*_*937 5 qt raspberry-pi

我只需要从 Raspberry Pi 上运行的 QT 5.1 应用程序播放简单的音频 wav 或 mp3 文件。

我的控制台应用程序已成功构建并部署到 pi。

但是,当我尝试播放该文件时收到一条消息:

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
Run Code Online (Sandbox Code Playgroud)

我尝试像这样播放文件:

QMediaPlaylist * playlist = new QMediaPlaylist;
playlist->addMedia(QUrl::fromLocalFile(hall1_5min));
playlist->addMedia(QUrl::fromLocalFile(hall1_start));
playlist->setCurrentIndex(1);
QMediaPlayer * player = new QMediaPlayer;
player->setPlaylist(playlist);
player->play();
Run Code Online (Sandbox Code Playgroud)

据我所知,我的 QTMultimedia 编译有问题。我需要帮助。我已经按照这些说明进行了编译。 我已经安装了一些 gstreamer 软件包,如上所述,但是,当我在运行 qmake 时编译 QTMultimedia 模块时 - 它没有检测到 gstreamer。

如何使用明确指定的 gstreamer 或其他媒体服务驱动程序编译 QTMultimedia?

Luc*_*lon 2

如果 QtMultimedia 没有被构建,你怎么能指望它能够运行应用程序呢?

这可能意味着您仍然缺少一些依赖项或者您的环境存在其他问题。也许您没有正确设置 pkgconfig 路径。您也可以尝试使用我写的指南:http://thebugfreeblog.blogspot.it/2013/03/bring-up-qt-501-on-raspberry-pi-with.html。我在音频和 gstreamer 方面遇到了问题,但一段时间过去了,从那时起某些事情可能已经发生了变化。

如果在构建和部署 QtMultimedia 模块和 gstreamer 插件后您仍然遇到这种情况,请使用 QT_DEBUG_PLUGIN 环境变量来获取一些日志。