0

我想尝试通过比较连续的相机预览帧来进行运动检测,我想知道我是否正确解释了 android 文档。告诉我这是否正确:

如果我希望相机预览使用我自己分配的缓冲区,我必须调用 addCallbackBuffer(),至少两次以获取两个单独的缓冲区进行比较。

然后我必须使用回调的 setPreviewCallbackWithBuffer() 形式,以便预览将填充到我分配的缓冲区中。

一旦我到达至少第二个回调,我可以做任何我喜欢的冗长处理来比较缓冲区,相机会让我一个人呆着,不再做任何回调或覆盖我的缓冲区,直到我将最旧的缓冲区返回给相机通过再次调用 allCallbackBuffer() (并且最新的缓冲区将保持不变,供我在下一个回调中使用以进行比较)。

最后一个是我最不清楚的。我不会得到错误或任何东西,因为它会用完缓冲区吗?它真的只会默默地丢弃预览帧而不进行回调吗?

4

1 回答 1

2

好吧,我去实现了上述算法,它们确实有效,所以我想我正确地解释了文档:-)。

如果有人想查看我经过大量修改的 CameraPreview 代码,请查看我的网页:

http://home.comcast.net/~tomhorsley/hardware/scanner/android-scanner.html

于 2012-09-05T00:09:44.397 回答