我已成功地创建一个Android应用程序来记录视频,但问题是有前置摄像头视频的方向。 输出是不是按要求。 它就会自动旋转。
应用方向为横向。 所以,我需要在横向模式下使用凸轮前录制。
没有什么工作了。
我已成功地创建一个Android应用程序来记录视频,但问题是有前置摄像头视频的方向。 输出是不是按要求。 它就会自动旋转。
应用方向为横向。 所以,我需要在横向模式下使用凸轮前录制。
没有什么工作了。
你可能想看看是怎么AOSP 摄影机活动正在实施这样的:
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
rotation = (info.orientation - mOrientation + 360) % 360;
} else { // back-facing camera
rotation = (info.orientation + mOrientation) % 360;
}
还有在一些细节我的答案在这里另外一个问题 。
增加这个你开始你下面setVideoSource录像
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
if (cameraId == 1) {
mediaRecorder.setProfile(CamcorderProfile
.get(CamcorderProfile.QUALITY_LOW));
mediaRecorder.setOrientationHint(270);
} else if (cameraId == 0) {
mediaRecorder.setProfile(CamcorderProfile
.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setOrientationHint(orientation);
}
mediaRecorder.setOrientationHint(270);
是前置摄像头倒挂问题
检查相机的ID,如果是1,则遵循媒体播放器“setOrientationHit方向变化()
private static final SparseIntArray REAR_ORIENTATIONS = new SparseIntArray();
static {
REAR_ORIENTATIONS.append(Surface.ROTATION_0, 270);
REAR_ORIENTATIONS.append(Surface.ROTATION_90, 0);
REAR_ORIENTATIONS.append(Surface.ROTATION_180, 90);
REAR_ORIENTATIONS.append(Surface.ROTATION_270, 180);
}
然后,在媒体播放器预览准备方法如下:
if(cameraId == FRONT_CAMERA) {
mMediaRecorder.setOrientationHint(REAR_ORIENTATIONS.get(rotation));
}