7

我正在尝试在 Ubuntu、Qt 5.6 上执行 QCamera 示例。观察到“相机服务丢失”消息。

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"
4

2 回答 2

6

检查是否安装了所有依赖项。他们是:

qtmultimedia5-dev

_

libqt5multimedia5-插件

前任:

sudo apt-get install libqt5multimedia5-plugins
于 2017-05-26T22:12:30.093 回答
0

检查示例代码似乎该示例尝试使用默认相机构造相机对象。方法setCamera显然是用无效的相机信息调用的。

    setCamera(QCameraInfo::defaultCamera());

您可以通过将其更改为

QCameraInfo info = QCameraInfo::defaultCamera();
if (!info.isNull())
{
    setCamera(info);
}
else
{
    qError() << "Default camera not found!";
}

它显然希望从 中找到相机/dev/video0。你可以检查它是否存在。如果您的摄像头类似于 video1 或 video2,您可以将其重命名为 video0 并重试。

您还可以在 Camera 类构造函数的 for 循环中添加调试消息,以查看可用摄像头的设备名称(并修改代码以选择默认摄像头以外的设备)。

foreach (const QCameraInfo &cameraInfo, QCameraInfo::availableCameras()) {
{
    qDebug() << cameraInfo.deviceName();
}
于 2016-06-06T07:38:56.293 回答