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

ell*_*823 8 camera android preview android-camera mediarecorder

我在横向模式下有自定义全屏相机.设备大小为1024 x 600.

支持预览大小列表
宽度x高度
176×144
320×240
352×288
528 X 432
640×480
1024×576
1024×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);

在曲面视图中更改(在本例中为缩放).

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

Ale*_*ohn 0

我只会坚持使用 1280x720。我怀疑如果您在不录制视频的情况下使用此预览大小,性能会受到重大影响。

让我解释一下:您选择的分辨率setPreviewSize()有两个作用:它定义了 SurfaceView 或 TextureView 接收到的图像的纵横比,它定义了 Camera.PreviewCallback.onPreviewFrame() 中接收到的数据缓冲区的大小(如果您使用 setPreviewCallback())。此分辨率不会影响在表面或纹理上渲染预览的时间,因为这些操作是在硬件中执行的。