我如何从 android 相机 onPreviewFrame 知道 YUV 格式?

How do i know the YUV format from android camera onPreviewFrame?

我想知道来自onPreviewFrame的yuv数据格式。我们知道,我们可以在startPreview之前设置parameter.setPreviewFormat(ImageFormat.NV21)。设置之后,格式是来自 onPreviewFrame NV21 吗?适合所有 android phone 吗?

设置 parameter.setPreviewFormat(ImageFormat.NV21) 后,onPreviewFrame 中的格式将为 NV21,因为所有设备都支持它(根据 documentation,所有设备也支持 YV12)。另外,如果不设置NV21,默认为NV21。

如果您不确定当前预览格式是哪种,您可以使用 parameter.getPreviewFormat() 查询相机参数。