为了使用我的手机摄像头(在Nexus 5上),我使用了以下代码:
camera = new QCamera;
camera->setViewfinder(ui->viewFinder);
ui->viewFinder->show();
ui->stackedWidget->setGeometry(0,0, 1000, 1700);
ui->viewFinder->setGeometry(0, 0, 1000, 1700);
camera->start(); // to start the viewfinder
qDebug() << camera->error() << camera->errorString();
qDebug() << camera->state() << camera->status();来自Qt医生,但什么也做不了。我在头文件中添加了正确的包含,在.pro文件中添加了.pro。
产出如下:
QCamera::NoError ""
QCamera::UnloadedState QCamera::UnloadedStatus这有点奇怪,因为如果start()函数失败,它应该抛出一个错误:
::start()插槽启动摄像机。 状态更改为QCamera::ActiveState,如果成功启动相机,则会发出error()信号。 当相机状态更改为QCamera::ActiveState时,可以异步启动相机服务,使用QCamera::status属性报告的实际状态。
编辑
QList<QCameraInfo> cameras = QCameraInfo::availableCameras();
foreach (const QCameraInfo &cameraInfo, cameras) {
qDebug() << cameraInfo.deviceName();
}产出:
“后退” “前线”
所以QT能检测到这些设备。
编辑2
这里有一些日志,似乎包含了一些错误,但由于这是我的第一个android应用程序,我不完全知道发生了什么:
D/dalvikvm(21060): GC_CONCURRENT freed 172K, 2% free 17025K/17228K, paused 5ms+1ms, total 22ms
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libgnustl_shared.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libgnustl_shared.so 0x42cb2588
D/dalvikvm(21060): No JNI_OnLoad found in /data/data/org.qtproject.example.HUD/lib/libgnustl_shared.so 0x42cb2588, skipping init
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libQt5Core.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libQt5Core.so 0x42cb2588
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libQt5Gui.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libQt5Gui.so 0x42cb2588
D/dalvikvm(21060): No JNI_OnLoad found in /data/data/org.qtproject.example.HUD/lib/libQt5Gui.so 0x42cb2588, skipping init
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libQt5Network.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libQt5Network.so 0x42cb2588
I/Qt (21060): Network start
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libQt5Multimedia.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libQt5Multimedia.so 0x42cb2588
D/dalvikvm(21060): No JNI_OnLoad found in /data/data/org.qtproject.example.HUD/lib/libQt5Multimedia.so 0x42cb2588, skipping init
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libQt5Widgets.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libQt5Widgets.so 0x42cb2588
D/dalvikvm(21060): No JNI_OnLoad found in /data/data/org.qtproject.example.HUD/lib/libQt5Widgets.so 0x42cb2588, skipping init
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libQt5OpenGL.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libQt5OpenGL.so 0x42cb2588
D/dalvikvm(21060): No JNI_OnLoad found in /data/data/org.qtproject.example.HUD/lib/libQt5OpenGL.so 0x42cb2588, skipping init
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libQt5MultimediaWidgets.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libQt5MultimediaWidgets.so 0x42cb2588
D/dalvikvm(21060): No JNI_OnLoad found in /data/data/org.qtproject.example.HUD/lib/libQt5MultimediaWidgets.so 0x42cb2588, skipping init
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/lib/libQt5Positioning.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/lib/libQt5Positioning.so 0x42cb2588
D/dalvikvm(21060): No JNI_OnLoad found in /data/data/org.qtproject.example.HUD/lib/libQt5Positioning.so 0x42cb2588, skipping init
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/qt-reserved-files/plugins/platforms/android/libqtforandroid.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/qt-reserved-files/plugins/platforms/android/libqtforandroid.so 0x42cb2588
I/Qt (21060): qt start
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/qt-reserved-files/plugins/mediaservice/libqtmedia_android.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/qt-reserved-files/plugins/mediaservice/libqtmedia_android.so 0x42cb2588
D/dalvikvm(21060): Trying to load lib /data/data/org.qtproject.example.HUD/qt-reserved-files/plugins/position/libqtposition_android.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/data/org.qtproject.example.HUD/qt-reserved-files/plugins/position/libqtposition_android.so 0x42cb2588
I/QtPositioning(21060): Positioning start
D/dalvikvm(21060): Trying to load lib /data/app-lib/org.qtproject.example.HUD-1/libHUD.so 0x42cb2588
D/dalvikvm(21060): Added shared lib /data/app-lib/org.qtproject.example.HUD-1/libHUD.so 0x42cb2588
D/dalvikvm(21060): No JNI_OnLoad found in /data/app-lib/org.qtproject.example.HUD-1/libHUD.so 0x42cb2588, skipping init
I/Adreno-EGL(21060): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
D/OpenGLRenderer(21060): Enabling debug mode 0发布于 2014-07-04 00:38:43
我认为你的问题的答案载于此;
基本上-这不管用。
我可以确认相机不会在QT的5.3分支下进入模式8。5.2.1允许捕获图像,但取景器不工作。
我不知道发生了什么,或者为什么他们会停止支持这段代码。
https://stackoverflow.com/questions/23992663
复制相似问题