2013-03-26 75 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