目前计划开发一款摄影应用程序,利用Android设备相机提供的RAW数据。
我使用相机API编写了一个简单的框架,并注意到在回调函数中,无论我将图像设置得多大或多小,都会返回一个空的数据缓冲区,但我可以访问JPG缓冲区。
其中提到,在那篇文章写作时(2009年2月),它“从未工作过”。因此,我是否正确地认为今天它仍然不起作用,或者我可能设置有问题?
我用来调试的手机是Droid X。
我感到困惑,因为我看到API提到,如果设备上没有足够的内存,则回调中的RAW数据缓冲区可以为空,但即使我将图像设置为非常小的大小(100x100),它也返回为空。
谢谢
编辑:
添加一些从LogCat获得的调试输出:
DEBUG/CameraHal(1156): Initializing capture memory raw: 0x42d39000 (155648), jpg: 0x429c4000 (57856), pv 0x42d5f000 (276736)
DEBUG/CameraHal(1156): Received raw yuv 0x4119f000 size 153600
DEBUG/CameraHal(1156): Received jpg 0x429c4000 size 57584DEBUG/CamTest(4716): RAW callback- data is NULL
DEBUG/CamTest(4716): JPEG callback- data is valid
“CamTest”是我的自定义调试输出。