我想尝试通过比较连续的相机预览帧来进行运动检测,并且我想知道我是否正确地解释了android文档。告诉我这是否正确:
如果我希望相机预览使用我自己分配的缓冲区,我必须调用addCallbackBuffer(),至少两次以获得两个单独的缓冲区进行比较。
然后我必须使用回调的setPreviewCallbackWithBuffer()形式,以便预览将填入我分配的缓冲区。
一旦我至少进行了第二次回调,我可以做任何冗长的处理,我喜欢比较缓冲区,相机会让我一个人,不再做任何回调或覆盖我的缓冲区,直到我返回最旧的缓冲区通过再次调用allCallbackBuffer()到相机(最新的缓冲区将保持不变,以便我在下一个回调中用于比较)。
最后一个是我最不清楚的。我不会得到错误或任何东西,因为我的缓冲区用完了吗?它真的会默默地删除预览帧而不进行回调吗?
答案 0 :(得分:2)
好吧,我去实现了上面的算法并且它们确实有效,所以我想我正确地解释了文档: - )。
如果有人想要查看我经过大量修改的CameraPreview代码来执行此操作,则会在我的网页上显示:
http://home.comcast.net/~tomhorsley/hardware/scanner/android-scanner.html