我试图在Ubuntu,Qt 5.6上执行QCamera示例。 "缺少相机服务"消息观察。
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"
答案 0 :(得分:2)
检查是否已安装所有依赖项。他们是:
qtmultimedia5-dev
_
libqt5multimedia5-插件
例如:
ServiceFabricNodeBootstrapAgent
答案 1 :(得分:0)
检查示例code,示例似乎尝试使用默认摄像头构建摄像机对象。显然,使用相机信息调用方法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();
}