cameraview
cameraview copied to clipboard
If i want to recorder video how to achieve?
How to get the current frame?
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