Android:如何使用 Android Camera API 检测视频大小

问题描述

有没有办法使用android Camera2 API或AndroidX Camera录制视频并在拍摄视频时获取文件大小?

我想要这样的东西: 用户录制视频并在重新编码当前捕获的文件大小时查看。

是否有任何回调可以提供临时视频文件文件大小? 或者是否有机会通过某种“TempFileObserver”? 还是现有的库?

亲切的问候阅读和分享您的经验。 PS:我不需要一个完整的实现,参考就足够了

解决方法

您可以通过 ByteBuffer、mediacodec.getOutPutBuffer、bufferinfo、dequeoutputbuffer 中的 getBytes 方法实现此目的 通过 MediaCodec 捕捉每一帧

您也可以尝试使用 ImageReader.onimageavailable..在此图像阅读器中返回最新图像捕获的字节缓冲区

详情请参考以下链接

https://developer.android.com/reference/android/media/ImageReader.OnImageAvailableListener