https://github.com/googlesamples/android-Camera2Basic 搜索这段代码 /** * Sets up member variables related to camera. * * @param width The width of available size for camera preview * @param height The height of available size for camera preview */ @SuppressWarnings("SuspiciousNameCombination") private void setUpCameraOutputs(int width, int height) { Activity activity = getActivity(); CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE); try { for (String cameraId : manager.getCameraIdList()) { CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId); // We don't use a front facing camera in this sample. Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING); if (facing != null && facing == CameraCharacteristics.LENS_FACING_BACK) {//修改这里,不设置后置,使用前置摄像头 continue; }
cameraId前1后0,默认打开后置:api1 camera中的open打开: public static Camera open(int cameraId) { return new Camera(cameraId); } api2: public void openCamera(String cameraId,CameraDevice.StateCallback callback, Handler handler){ ....... } 第一个参数表示cameraid 表示前后置,第二个回调,底层打开与否,给生层一个反馈,后一个表示在当前线程,还是其他。
http://blog.csdn.net/ly0309/article/details/6977196
https://github.com/googlesamples/android-Camera2Basic
搜索这段代码 /**
* Sets up member variables related to camera.
*
* @param width The width of available size for camera preview
* @param height The height of available size for camera preview
*/
@SuppressWarnings("SuspiciousNameCombination")
private void setUpCameraOutputs(int width, int height) {
Activity activity = getActivity();
CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
try {
for (String cameraId : manager.getCameraIdList()) {
CameraCharacteristics characteristics
= manager.getCameraCharacteristics(cameraId); // We don't use a front facing camera in this sample.
Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING); if (facing != null && facing == CameraCharacteristics.LENS_FACING_BACK) {//修改这里,不设置后置,使用前置摄像头
continue;
}
public static Camera open(int cameraId) {
return new Camera(cameraId);
}
api2:
public void openCamera(String cameraId,CameraDevice.StateCallback callback, Handler handler){
.......
} 第一个参数表示cameraid 表示前后置,第二个回调,底层打开与否,给生层一个反馈,后一个表示在当前线程,还是其他。