【问题标题】:Switching between front and back camera在前后摄像头之间切换
【发布时间】:2013-03-26 11:42:16
【问题描述】:

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

【问题讨论】:

  • 看答案中贴出的链接中的代码进行验证,切换id就可以了
  • 您好,看看这个。 if (Camera.getNumberOfCameras() > 1) { mCamera = Camera.open(CameraInfo.CAMERA_FACING_FRONT); } else { mCamera = Camera.open(); }

标签: android


【解决方案1】:

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

 @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);
    }
 }

【讨论】:

  • 你的答案应该在评论中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多