在C ++中未检测到摄像头,但在QML

时间:2017-07-10 11:07:32

标签: c++ qt camera qml

我连接了USB相机。

在QML中检测到相机,这有效:

Camera { id: camera}
VideoOutput { 
    anchors.fill: parent
    source: camera
}

但在c ++中,相机不在列表中:

QList<QCameraInfo> cameras = QCameraInfo::availableCameras();
foreach (const QCameraInfo &cameraInfo, cameras){
    qDebug() << "*********** Cameras :" << cameraInfo.deviceName();
}

这没有任何输出。

QML和C ++有什么区别?如何从C ++访问摄像头?

编辑:我已经创建了一个全新的项目来测试它,结果是c ++在新项目中检测到了相机。真正的项目正在加载一个插件,其中包含试图访问Camera的类的实例,可能会以某种方式导致问题。

EDIT2:与插件无关,经过测试,结果证明它不能与QCoreApplication一起使用,但它确实适用于QGuiApplication,这表明当CoreApp没有时,QGuiApplication可能设置了一个mediaProvider

1 个答案:

答案 0 :(得分:0)

这是一个错误:https://bugreports.qt.io/browse/QTBUG-59320

该错误已从版本5.10.1修复