我正在尝试修改帧速率(降低帧速率),以便我们可以对其进行实时操作。但不能更改帧率。
可能的解决方案包括:
改变中 CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
延迟 setRepeatingRequest
我们需要降低传递到的生成帧速率,Surfaceholder
以便可以进一步应用于其中的操作。
正如评论中建议的那样,我设法找到了解决方案并回答了自己的问题,关于如何解决该问题。
我们首先创建一个对象,mPreviewRequestBuilder
然后使用它来修改帧频。
private CaptureRequest.Builder mPreviewRequestBuilder;
// We set up a CaptureRequest.Builder with the output Surface.
mPreviewRequestBuilder
= mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
mPreviewRequestBuilder.addTarget(surface);
我们可以通过创建Range数组并手动设置(如下所述)来实现更改。
Range<Integer>[] fps = new Range[size];
将自定义值添加到Range类。
fps[0] = Range.create(2,5);
一旦我们成功创建了一系列Range,就可以如下设置摄像机设置:
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE,fps[0]);
mPreviewRequest = mPreviewRequestBuilder.build();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句