我一直在使用Android NDK 相机示例,并且可以AIMAGE_FORMAT_YUV_420_888
通过使用内部 DrawFrame以 30 Hz读取具有格式的帧。yuvreader_
我验证了通过记录每个图像中的时间戳并打印它来实现 30 Hz。我正在使用三星 Galaxy S9。
我现在正试图以 30 Hz 的频率获取 JPEG 图像而不是 YUV 图像,但尚未成功,想知道是否有人可以提供帮助。
据我了解,此示例中的捕获会话为“预览”和“静止捕获”创建了一个请求,其中yuv 用于预览,jpeg 用于静止捕获。我所做的是也将其设置jpgReader_
为预览,然后我在这里检查了在 ImageCallback 中捕获的帧的时间戳(我注释掉了写入文件的步骤,并且只调用了 AImage_delete(image) 来清理而是缓冲区)。但是,我得到的结果是间隔为 33、66、99 和 133 毫秒的帧,分布非常均匀,因此经常会跳过很多帧。
关于问题可能是什么的任何想法?