gpt4 book ai didi

android - 相机 - 开始录制视频后预览更改

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:08 26 4
gpt4 key购买 nike

我在横向模式下有自定义全屏摄像头。设备尺寸为 1024 x 600。

支持的预览尺寸列表
宽 x 高
176 x 144
320 x 240
352 x 288
528 x 432
640 x 480
1024 x 576
1024 x 768

支持的视频尺寸列表
宽 x 高
176 x 144
320 x 240
352 x 288
640 x 480
720 x 480
1280 x 720

如果没有 setPreviewSize,我的预览会从顶部和底部压缩,从左到右更长。

我的预览 getOptimalPreviewSize 返回 1024 x 576 大小,近视频大小为 1280 x 720

所以,在设置好视频大小并开始录制视频之后

mediaRecorder.setVideoSize(1280, 720);

表面 View 发生变化(在本例中为缩放)。

我想知道,如何解决尺寸差异问题录制前后总是看到相同的预览?

最佳答案

事实上,这是一个棘手的问题,并且因硬件而异。说白了,在一些硬件厂商上有时是不可能实现的。

硬件供应商规定了如何处理原始相机传感器分辨率、请求的预览 View 和视频捕获尺寸之间的尺寸和纵横比差异,以及使预览适合屏幕分辨率所需的后续处理(使用插值调整尺寸)。

通常,“处理”包括:

  • 裁剪,意味着原始图像的某些部分(边距)被简单地丢弃。
  • 调整大小 - 意味着使用插值和平均算法生成具有不同大小的图像。纵横比可能会改变。

两者通常都经过编程,可以在专用硬件或 GPU 上运行。片上系统 (SoC) 意味着除了 CPU 和 GPU 之外,还有许多专用硬件可供供应商(且仅供应商)用于处理。


如果您的设备使用裁剪来适应尺寸,则预览和最终图像/视频边界将不匹配。除非您为该设备模型定制额外的处理代码,否则您无能为力。

此外,并非所有预览尺寸都以与相机传感器相同的纵横比返回。这应该是显而易见的,因为预览尺寸本身具有多种纵横比。

关于android - 相机 - 开始录制视频后预览更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23844595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com