我有如下代码。我已经对状态进行了多次检查,它显示在qDebug()的注释中。我真的不知道这到底出了什么问题。
QCamera *camera = new QCamera();
camera->setCaptureMode(QCamera::CaptureStillImage);
camera->load();
camera->start();
camera->searchAndLock();
QCameraImageCapture *imageCapture = new QCameraImageCapture(camera);
imageCapture->setCaptureDestination(QCameraImageCapture::CaptureToFile);
imageCapture->capture("~/test.jpg");
qDebug() << camera->state(); // QCamera::ActiveStatus
qDebug() << camera->status(); // QCamera::LoadedStatus
qDebug() << camera->isAvailable(); // true
qDebug() << camera->errorString(); // ""
qDebug() << imageCapture->isAvailable(); // true
qDebug() << imageCapture->errorString(); // "Camera not ready"
camera->unlock();
camera->stop();发布于 2014-05-03 00:24:18
试试这个:
QCamera *camera;
QList<QByteArray> devices = QCamera::availableDevices();
if( devices.length()){
camera = new QCamera(devices.at(0));
}else{
qDebug() << "No camera found!";
}必须使用有效设备初始化QCamera。
https://stackoverflow.com/questions/21645972
复制相似问题