2012-10-12 50 views
0

我在我的代碼中有一些問題。我必須啓動相機並捕捉它,所以這裏是我的代碼,我的問題是相機從一些奇怪的視圖開始,如橫向模式和拉伸。android startVideo拉伸和橫向模式

mVideoCaptureView = (SurfaceView) findViewById(R.id.cameraView); 
     SurfaceHolder videoCaptureViewHolder = mVideoCaptureView.getHolder(); 
     videoCaptureViewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
     videoCaptureViewHolder.addCallback(new Callback() { 
      public void surfaceDestroyed(SurfaceHolder holder) { 
      } 

      public void surfaceCreated(SurfaceHolder holder) { 
       startVideo(); 
      } 

      public void surfaceChanged(SurfaceHolder holder, int format, 
        int width, int height) { 
      } 
     }); 

startVideo()功能

private void startVideo() { 
     if(mCamera != null) return; 
     SurfaceHolder videoCaptureViewHolder = null; 
     try { 
      mCamera = Camera.open(); 
     } catch (RuntimeException e) { 
      Log.e("CameraTest", "Camera Open filed"); 
      return; 
     } 
     mCamera.setErrorCallback(new ErrorCallback() { 
      public void onError(int error, Camera camera) { 
      } 
     }); 
     Camera.Parameters parameters = mCamera.getParameters(); 
     parameters.setPreviewFrameRate(30); 

     mCamera.setParameters(parameters); 
     if (null != mVideoCaptureView) 
      videoCaptureViewHolder = mVideoCaptureView.getHolder(); 
     try { 
      mCamera.setPreviewDisplay(videoCaptureViewHolder); 
     } catch (Throwable t) { 
     } 

     try { 
      mCamera.startPreview(); 
     } catch (Throwable e) { 
      mCamera.release(); 
      mCamera = null; 
      return; 
     } 
    } 

此外,我必須添加自己的buttons,在攝影機視圖ImageButtons 感謝 問候 對不起英語

回答

0

有用於Camera`相機的一些功能.setDisplayOrientation(90);我從here得到它