QCamera::start 给出了神秘的 "failed to start" 日志信息

QCamera::start gives mysterious "failed to start" log message

幸好我的程序很简单,所以我最终找到了导致神秘日志消息的原因。我的程序日志如下所示:

Debugging starts
failed to start
Debugging has finished

发生在:

之后
camera = new QCamera(QCameraInfo::defaultCamera());
// see http://omg-it.works/how-to-grab-video-frames-directly-from-qcamera/
camera->setViewfinder(frameGrabber = new CameraFrameGrabber());
camera->start();

start() 方法在控制台中导致此消息。现在消息的意思已经很明显了,这不是很有帮助。我应该采取什么步骤来排除故障?

原因可能不同,但就我而言,这仅仅是因为我提供了无效 QCameraInfo。罪魁祸首是如果 Qt 未能检测到您系统上的任何摄像头,QCameraInfo::defaultCamera() 可能 return 无效值,不幸的是,即使摄像头存在,也会发生这种情况。