目前正计划利用 Android 设备中相机提供的 RAW 数据制作摄影应用程序。
我使用相机 API 编写了一个快速骨架,并注意到在使用 RAW 图像数据的回调中,给定的数据缓冲区始终为 NULL,无论我制作的图像有多大或多小,但我能够访问 JPG 缓冲区.
其中提到在撰写本文时(2009 年 2 月),它“从未奏效”。那么,我是否正确地假设今天它仍然不起作用,或者我可能设置不正确?
我用来调试的手机是 Droid X。
只是感到困惑,因为我确实看到 API 提到如果设备上没有足够的可用内存,回调中的 RAW 数据缓冲区可能为 null,但即使我将图像设置为非常小的尺寸,它也会返回为 null( 100x100)
谢谢
编辑:
添加一些我从 LogCat 获得的调试输出:
DEBUG/CameraHal(1156): 初始化捕获内存 raw: 0x42d39000 (155648), jpg: 0x429c4000 (57856), pv 0x42d5f000 (276736)
调试/CameraHal(1156):收到原始 yuv 0x4119f000 大小 153600
调试/CameraHal(1156):收到 jpg 0x429c4000 大小 57584DEBUG/CamTest(4716):RAW 回调 - 数据为 NULL
DEBUG/CamTest(4716):JPEG 回调 - 数据有效
“CamTest”是我的自定义调试输出。