如何解决当我按下相机 2 onImageAvailable 一次捕获时,图像被保存了 10 次
private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
Image img = reader.acquireNextImage();
ByteBuffer buffer = img.getPlanes()[0].getBuffer();
byte[] bytes = new byte[buffer.remaining()];
buffer.get(bytes);
img.close();
mBackgroundHandler.post(new ImageSaver(bytes,mFile));
}
};
当我按一次捕获时,图像被保存了 10 次,我卡在这里
解决方法
case STATE_WAITING_LOCK: {
Integer afState = result.get(CaptureResult.CONTROL_AF_STATE);
if (afState == null) {
mState = STATE_PICTURE_TAKEN;
captureStillPicture();
}
注意 mState = STATE_PICTURE_TAKEN ,这解决了我的问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。