Open xiandanin opened 7 years ago
mImageReader = ImageReader.newInstance(largest.getWidth(), largest.getHeight(),
ImageFormat.YUV_420_888, 5);
mImageReader.setOnImageAvailableListener(mOnImageAvailableListener, null);
private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
try (Image image = reader.acquireNextImage()) {
Image.Plane[] planes = image.getPlanes();
if (planes.length > 0) {
ByteBuffer buffer = planes[0].getBuffer();
byte[] data = new byte[buffer.remaining()];
buffer.get(data);
mCallback.onPreviewFrame(data);
}
}
}
};
mPreviewRequestBuilder.addTarget(mImageReader.getSurface());
Because onImageAvailable
call very frequently, buffer.get (data);
more time-consuming, leading to preview lag, how can I deal with this problem
check this one https://github.com/google/cameraview/pull/218
How to get the current frame?