我正在编写一个相机应用程序,每当我调用camera.open()时,这个应用程序就会崩溃,然后我得到了这个错误:
W/CameraBase﹕ An error occurred while connecting to camera: 0
下面是我打开相机的方式:
public void getCameraInstance(){
mCamera = null;
try
{
mCamera = Camera.open(); // attempt to get a Camera instance
}
catch (Exception e)
{
// Camera is not available (in use or does not exist)
}
}
更新:
如果您正在阅读这篇文章,请注意,这是针对最初的camera2,并且不再应用最新版本的camera2 (camera2)。
从这一点开始,您应该使用camera2 api,因为它具有更大的功能,而且还有更好的图像处理管道。
注不包括API 21 (棒棒糖),即不适用于棒棒糖及以上。
发布于 2015-02-23 16:46:37
使用以下方法
android.hardware.Camera.open(int cameraId)
您应该通过cameraId,如果您想要前面的相机Id,可以使用以下方法
private int findFrontFacingCamera() {
// Search for the front facing camera
int numberOfCameras = Camera.getNumberOfCameras();
for (int i = 0; i < numberOfCameras; i++) {
CameraInfo info = new CameraInfo();
Camera.getCameraInfo(i, info);
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
cameraId = i;
cameraFront = true;
break;
}
}
return cameraId;
}
发布于 2016-08-30 18:39:18
你把你的申请上传到电话里。这就是为什么相机许可不被批准的原因。您必须打开设置->应用程序(或类似的东西)并手动批准此权限。
发布于 2016-06-24 12:12:41
在Android 6中,确保你申请了相机的许可。相机访问被认为是'dangerous permissions'之一。
https://stackoverflow.com/questions/26261769
复制相似问题