CameraCaptureSession abortCapture性能非常糟糕

时间:2017-03-12 22:25:52

标签: java android camera camera2

要使用新状态(焦点,曝光时间)更新摄像头捕获会话,我似乎必须在当前会话中调用abortCaptures。调用此约需0.3秒。在此期间,视口也会冻结。似乎其他应用程序在没有口吃的情况下改变焦点,这些应用程序如何做到这一点?

如果我没有在我的会话中调用abortCaptures,它最终会更新到新的焦点距离而不会出现口吃,但仅在大约10秒后...

源文件: https://github.com/RuurdBijlsma/Camera/blob/master/app/src/main/java/com/ruurdbijlsma/camera/Camera.java#L166

1 个答案:

答案 0 :(得分:1)

您不需要调用abortCaptures来更改摄像头捕获参数 - 如果您想快速更改为新的捕获会话,通常只需要它,并且只有当您有新的目标Surface时才需要它。例如从照片模式切换到视频模式。

只需在捕获请求构建器中更改焦点或曝光设置,构建请求,然后将其提交给摄像头设备(可能通过setRepeatingRequest())。