android视频录制MediaRecorder预览旋转角度问题

开发视频录制插件,结果发现竖屏录制视频的时候,出现预览窗口画面别旋转90度的问题。所以贴出解决代码。共同进步。
  mediarecorder = new MediaRecorder();// 创建mediarecorder对象  
                // 设置录制视频源为Camera(相机)  
                
               
                 
                 
                 
             
                
                Camera camera = Camera.open();  
                Camera.Parameters parameters = camera.getParameters();  
//              parameters.setRotation(90);  
                parameters.setPreviewSize(640, 480);     
                parameters.setPictureSize(640, 480);  
                camera.setParameters(parameters);   
                camera.setDisplayOrientation(90);  
                camera.unlock();  
                mediarecorder.setCamera(camera);  
                mediarecorder.reset();  
                
                mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);  
                
                // 设置录制完成后视频的封装格式THREE_GPP为3gp.MPEG_4为mp4  
                mediarecorder  .setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);  
                
                mediarecorder.setVideoSize(640, 480);  
                
                // 设置录制的视频编码h263 h264  
                mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);  
                // 设置视频录制的分辨率。必须放在设置编码和格式的后面,否则报错  
               
                // 设置录制的视频帧率。必须放在设置编码和格式的后面,否则报错  
                mediarecorder.setVideoFrameRate(20);  
                
                mediarecorder.setPreviewDisplay(surfaceHolder.getSurface());  
                // 设置视频文件输出的路径  
                mediarecorder.setOutputFile("/sdcard/love.mp4");  
                try {  
                    // 准备录制  
                    mediarecorder.prepare();  
                    // 开始录制  
                    mediarecorder.start();  
                } catch (IllegalStateException e) {  
                    // TODO Auto-generated catch block  
                    e.printStackTrace();  
                } catch (IOException e) {  
                    // TODO Auto-generated catch block  
                    e.printStackTrace();  
                }  

你可能感兴趣的:(手机开发)