【问题标题】:I want to record video in Landscape mode no matter device orientation is portrait or landscape无论设备方向是纵向还是横向,我都想以横向模式录制视频
【发布时间】:2023-03-30 19:25:01
【问题描述】:

我正在使用 Media Recorder 进行录制,有人知道如何应用 Logic 吗? 现在视频录制总是在横向进行,但它没有捕捉到正确的方向,屏幕也会旋转

private Camera.Size getBestPreviewSize(int width, int height,
                                       Camera.Parameters parameters) {
    Camera.Size result = null;

    for (Camera.Size size : parameters.getSupportedPreviewSizes()) {
        if (size.width <= width && size.height <= height) {
            if (result == null) {
                result = size;
            } else {
                int resultArea = result.width * result.height;
                int newArea = size.width * size.height;

                if (newArea > resultArea) {
                    result = size;
                }
            }
        }
    }

    return (result);
}

【问题讨论】:

  • 您使用的是什么问题?还要检查您的设备中是否必须启用自动旋转
  • 我知道自动旋转,我的问题是当我试图在水平视图中捕捉时我没有得到适当的措施,所以我的视图在捕捉过程中被拉伸。我用过,我在下面用过获得适当的高度和高度的方法。
  • 那你必须为它保持纵横比
  • 你检查过this吗?
  • 谢谢,我会检查一下,恐怕它不适合我

标签: android mediarecorder android-mediarecorder


【解决方案1】:

检查setRotation相机参数方法。如果您不使用这个,那么您可以在录制视频时尝试使用mediaRecorder.setOrientationHint(rotation)(仅更改输出视频的方向,如果您想强制预览为横向则不更改预览方向,然后Camera.setDisplayOrientation(rotation))。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多