Rotating a Camera SurfaceView to portrait

前端 未结 7 1001
日久生厌
日久生厌 2020-12-14 04:37

I have looked up a few posts on changing the orientation of the camera with a surface view, but I have taken my code from the examples at:

http://developer.android.c

相关标签:
7条回答
  • 2020-12-14 05:17

    Please try this..

    @Override
     public void surfaceChanged(SurfaceHolder holder,
                           int format, int width, int height)
    {
    // TODO Auto-generated method stub
    
    if(previewing)
    {
        camera.stopPreview();
        previewing = false;
    }
     Camera.Parameters parameters = camera.getParameters();
          Display display = ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
       int or=cameraInfo.orientation;
         // You need to choose the most appropriate previewSize for your app
       // .... select one of previewSizes here
               /* parameters.setPreviewSize(previewSize.width, previewSize.height);*/
       if(display.getRotation() == Surface.ROTATION_0)
        {
    
        camera.setDisplayOrientation(90);
        or=90;
        }
    
        if(display.getRotation() == Surface.ROTATION_180)
        {
            camera.setDisplayOrientation(270);
        or=270;
        }
        if(display.getRotation() == Surface.ROTATION_270)
        {
            camera.setDisplayOrientation(180);
            or=180;
        }
    
      parameters.setRotation(or);
    
      camera.setParameters(parameters);
     try
    {
            camera.setPreviewDisplay(cameraSurfaceHolder);
            camera.startPreview();
            previewing = true;
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    0 讨论(0)
提交回复
热议问题