我的应用程序提供了一个相机,它允许用户拍照或录制视频。我不可能知道用户会选择哪个动作。所以我需要为这两个动作提供相机预览。使用旧的相机 API 完全没有问题,但我不确定 camera2 API。
我已经彻底浏览了这两个谷歌示例:Camera2Basic和Camera2Video ,我注意到预览构建器使用CameraDevice.TEMPLATE_PREVIEW拍照:
mPreviewRequestBuilder = mCameraDevice.createCaptureRequesT(CameraDevice.TEMPLATE_PREVIEW);
对于视频录制,它使用CameraDevice.TEMPLATE_RECORD;
mPreviewBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_RECORD);
我已经检查了CameraDevice类中所有模板的描述,但仍然不确定在我的情况下什么是正确的方法。我曾尝试设置TEMPLATE_PREVIEW进行视频录制,它工作正常,但我是否正确理解在这种情况下视频质量可能较低?因为在文档中它说如下:
具体来说,这意味着高帧率优先于最高质量的后期处理。