Android Camera setDisplayOrientation does not work

后端 未结 4 1073
春和景丽
春和景丽 2020-12-17 01:07

i am working camera project in android.my problem is camera setDisplayOrientation method is not working and my camera preview on surface always landscape.i want

4条回答
  •  有刺的猬
    2020-12-17 01:36

    if you want to rotate the preview output, try this:

    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
        {            
            if (isPreviewRunning)
            {
                mCamera.stopPreview();
            }
    
            Parameters parameters = mCamera.getParameters();
            Display display = ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
    
            if(display.getRotation() == Surface.ROTATION_0)
            {
                parameters.setPreviewSize(height, width);                           
                mCamera.setDisplayOrientation(90);
            }
    
            if(display.getRotation() == Surface.ROTATION_90)
            {
                parameters.setPreviewSize(width, height);                           
            }
    
            if(display.getRotation() == Surface.ROTATION_180)
            {
                parameters.setPreviewSize(height, width);               
            }
    
            if(display.getRotation() == Surface.ROTATION_270)
            {
                parameters.setPreviewSize(width, height);
                mCamera.setDisplayOrientation(180);
            }
    
            mCamera.setParameters(parameters);
            previewCamera();                      
        }
    

提交回复
热议问题