今天用EasyRTC做了视频推拉流的应用,EasyRTC是横屏的,但是我需要做成竖屏的(类似微信视频那种的)。
旋转过来后,预览界面和播放界面的视频都是旋转了90度,顿时郁闷了。
经过一番资料查阅跟EasyPusher的源码分析,最后解决了这个头疼的问题。
首先我把预览界面的视频修改了,关键代码如下:
if (Camera.getNumberOfCameras() < 2){
mCameraId = Camera.CameraInfo.CAMERA_FACING_BACK;
}
mCamera = Camera.open(mCameraId);
Camera.Parameters parameters = mCamera.getParameters();
int[] max = determineMaximumSupportedFramerate(parameters);
Camera.CameraInfo camInfo = new Camera.CameraInfo();
Camera.getCameraInfo(mCameraId, camInfo);
int cameraRotationOffset = camInfo.orientation;
if (mCameraId == Camera.CameraInfo.CAMERA_FACING_FRONT)
cameraRotationOffset += 180;
int rotate = (360 + cameraRotationOffset - mDgree) % 360;
parameters.setRotation(rotate);
previewFormat = colorFormat == COLOR_FormatYUV420SemiPlanar || colorFormat == COLOR_TI_FormatYUV420PackedSemiPlanar ? ImageFormat.NV21 : ImageFormat.YV12;
parameters.setPreviewFormat(previewFormat);
parameters.setPreviewSize(width, height);
parameters.setPreviewFrameRate(20);
mCamera.setParameters(param