2012-10-12 6 views
0

J'ai un problème dans mon code. Je dois démarrer la caméra et la capturer, alors voici mon code, et mon problème est que cette caméra commence avec une vue étrange, comme le mode paysage et étiré.android startVideo étiré et en mode paysage

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

et la fonction 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; 
     } 
    } 

Aussi je dois ajouter mes propres buttons, ImageButtons en vue de la caméra Merci Cordialement désolé pour l'anglais

Répondre

0

Il y avait une fonction pour Camera `appareil photo .setDisplayOrientation (90); Je l'ai eu de here