2010-04-02 70 views

回答

2

在設置caemra參數之前,可以使用camera.getParameters()。flatten()來記錄攝像機支持的所有參數。所以你可以使用正確的參數。

0

更換surfaceCreated methood這一點,並告訴我,如果它的工作

public void surfaceCreated(SurfaceHolder holder){ 
     // The Surface has been created, now tell the camera where to draw the 
     // preview. 


     Log.d(TAG, "surfaceCreated camera id" + mCamera); 

     try { 
      CamcorderProfile profile ; 

      int numCameras = Camera.getNumberOfCameras(); 
      if (numCameras > 1) { 
      profile = (CamcorderProfile 
         .get(Camera.CameraInfo.CAMERA_FACING_FRONT,CamcorderProfile.QUALITY_HIGH)); 
      } 
      else{ 

       profile = (CamcorderProfile 
         .get(Camera.CameraInfo.CAMERA_FACING_BACK,CamcorderProfile.QUALITY_HIGH)); 
      } 


      Camera.Parameters parameters = mCamera.getParameters(); 
      parameters.setPreviewSize(profile.videoFrameWidth, profile.videoFrameHeight); 
      mCamera.setParameters(parameters); 
      mCamera.setPreviewDisplay(holder); 
      mCamera.startPreview(); 
     } 
     catch (IOException e) { 
      Log.d(TAG, "Error setting camera preview: " + e.getMessage()); 
     }}