我在我的git repo中使用了/sf/answers/2810650321/中ImageUtil提供的类:https://github.com/ahasbini/cameraview/tree/camera_preview_imp(注意实现在分支中)到实现帧预览回调.一个被设置为预览在帧格式将被转换成使用类,并将其发送给帧的回调.演示应用程序每50帧将回调帧保存到文件中.所有保存的帧图像都会失真,类似于以下内容:camera_preview_impImageReaderImageFormat.YUV_420_888ImageFormat.JPEGImageUtil
如果我通过执行以下更改而改为ImageReader使用:ImageFormat.JPEGCamera2
mPreviewImageReader = ImageReader.newInstance(previewSize.getWidth(),
previewSize.getHeight(), ImageFormat.JPEG, /* maxImages */ 2);
mCamera.createCaptureSession(Arrays.asList(surface, mPreviewImageReader.getSurface()),
mSessionCallback, null);
Run Code Online (Sandbox Code Playgroud)
图像正常运行而没有任何失真,但帧速率显着下降,视图开始滞后.因此,我认为ImageUtil班级没有正确转换.