Android 当我在camera 2 onImageAvailable上按下capture时,图像被保存了10次
当我按一次“捕获”按钮时,图像被保存了10次,我被困在这里了Android 当我在camera 2 onImageAvailable上按下capture时,图像被保存了10次,android,android-camera2,Android,Android Camera2,当我按一次“捕获”按钮时,图像被保存了10次,我被困在这里了 private final ImageReader.OnImageAvailableListener mOnImageAvailableListener = new ImageReader.OnImageAvailableListener() { @Override public void onImageAvailable(ImageReader reader) {
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));
}
};
注意mState=STATE\u PICTURE\u take,这解决了我的问题为什么不调试你的代码并检查为什么保存的代码执行了10次?@ADM我想这是因为
ImageReader.OnImageAvailableListener(){
,你知道如何在捕获一次侦听器后删除它,然后在再次按下捕获时重新连接吗
case STATE_WAITING_LOCK: {
Integer afState = result.get(CaptureResult.CONTROL_AF_STATE);
if (afState == null) {
mState = STATE_PICTURE_TAKEN;
captureStillPicture();
}