我连接了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