2

我正在尝试创建一个自定义相机应用程序,我需要在其中切换前置和后置摄像头。那么是否必须每次都创建新的相机实例camera-id才能使其工作?我已经尝试设置camera-id相机属性,但它似乎不起作用。有没有其他方法可以在不重新实例化相机实例的情况下做到这一点?

4

1 回答 1

0

重新启动活动并将相机 ID 更改为 2 以切换到后置摄像头,我猜为 1 用于前置摄像头。从这里引用

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.photo_camera_main);
    prepareActivity(); 
 }

 private void prepareActivity() {
    cameraView = (SurfaceView) findViewById(R.id.photo_camera_surface_view);
    turnButton = (ImageButton) findViewById(R.id.turn_button);
    turnButton.setOnClickListener(this);
 }

 @Override
 public void onClick(View v) {
    if (v.equals(turnButton)) {
       if (Camera.getNumberOfCameras() > 1 && camId < Camera.getNumberOfCameras() - 1){
          startCamera(camId + 1);
    } else {
        startCamera(Camera.CameraInfo.CAMERA_FACING_BACK);
    }
 }
于 2013-03-26T11:47:50.823 回答