2013-03-26 71 views
2

我正在尝试创建一个自定义相机应用程序,在该应用程序中我需要在正面和背面相机之间切换。那么是否必须每次为camera-id类型创建新的相机实例才能使其工作?我曾尝试将camera-id设置为相机属性,但似乎不起作用。有没有其他的方式来做到这一点,而无需重新实例化相机实例?正面和背面相机之间的切换

+0

中只看张贴在回答验证该链接的代码中引用,转换ID将工作 – 2013-03-26 11:48:52

+0

发布您的代码。 – GrIsHu 2013-03-26 12:22:12

+0

嗨,看看这个。 if(Camera.getNumberOfCameras()> 1){Camera.foNumberOfCameras()> 1){CameraInfo.CAMERA_FACING_FRONT); Camera.open(CameraInfo.CAMERA_FACING_FRONT);其中,Camera.getNumberOfCameras() \t \t \t}否则{ \t \t \t \t mCamera = Camera.open(); \t \t \t} – itsrajesh4uguys 2013-03-26 13:31:30

回答

0

重新启动活动,并将摄像机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); 
    } 
} 
+0

您的回答应该在评论中。 – GrIsHu 2013-03-26 12:21:25