我需要在我的应用程序中打开前置摄像头作为默认设置。如果用户点击按钮,前置摄像头必须打开。作为默认的Android开放式前置摄像头
在我的代码中,我得到了当前android设备中存在的摄像头数量,如果设备有两个摄像头,我将采用第二个摄像头的ID并在那里写入一些摄像头逻辑。
请帮我建立这个代码
我需要在我的应用程序中打开前置摄像头作为默认设置。如果用户点击按钮,前置摄像头必须打开。作为默认的Android开放式前置摄像头
在我的代码中,我得到了当前android设备中存在的摄像头数量,如果设备有两个摄像头,我将采用第二个摄像头的ID并在那里写入一些摄像头逻辑。
请帮我建立这个代码
试试这段代码。它工作正常:)
private Camera openFrontFacingCameraGingerbread() {
int cameraCount = 0;
Camera cam = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras();
for (int camIdx = 0; camIdx<cameraCount; camIdx++) {
Camera.getCameraInfo(camIdx, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
try {
cam = Camera.open(camIdx);
} catch (RuntimeException e) {
Log.e("Your_TAG", "Camera failed to open: " + e.getLocalizedMessage());
}
}
}
return cam;
}
而不是复制粘贴代码给出ref.link – 2014-11-24 10:48:01
添加androidmanifest XML文件在这个..try出
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
尝试更好地解释这是什么和它做什么。 – Refilon 2014-11-24 11:33:27
我使用此代码,将工作的ü希望:)
Camera c = null; // object that use
Camera.CameraInfo info = new Camera.CameraInfo();
int count = Camera.getNumberOfCameras();
for (int i = 0; i<cameraCount; i++) {
Camera.getCameraInfo(i, info);
if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
try {
c = Camera.open(i);
} catch (RuntimeException e) {
// Handle
}
}
}
只写此行
相机mCamera = null;
mCamera = Camera.open(1); //用于前置摄像头
mCamera = Camera.open(0); //为后置摄像头
时,才应改变这一行,
相机mCamera = NULL;
mCamera = Camera.open(1); //用于前置摄像头
mCamera = Camera.open(0); //用于后置摄像头
为什么所有的帽子?你的代码在哪里?叹。 – Raptor 2014-11-24 10:41:25
可能重复:http://stackoverflow.com/a/4767832/4224337 – Rami 2014-11-24 10:42:29
http://stackoverflow.com/questions/2779002/how-to-open-front-camera-on-android-platform 尝试出这个....... – 2014-11-24 11:22:15