【发布时间】:2016-05-23 12:56:02
【问题描述】:
根据此文档:https://developer.android.com/reference/android/media/MediaRecorder.html#setCaptureRate%28double%29:
“对于摄像机可以捕捉到的分辨率,最快 fps 可以使用 getPreviewFpsRange(int[])"
计算
但我找不到任何关于它的例子。
我尝试过:
List<Camera.Size> sizes = p.getSupportedPreviewSizes();
p.setPreviewSize(sizes.get(0).width, sizes.get(0).height);
cam.setParameters(p);
即使用各种分辨率设置预览大小,但之后调用getPreviewFpsRange(int[]) 总是返回相同的结果,例如 Nexus 4 上的 5000 - 30000 或宏碁平板电脑上的 5000 - 60000。这是否意味着这些设备支持所有分辨率的最大 fps,还是我遗漏了什么?
有人知道如何计算每个分辨率的最大 fps 吗?
【问题讨论】:
-
如果我理解正确的话,这个方法应该返回一个固定的值——一个具有固定最小值和最大值的范围。当您固定分辨率时,FPS 也变得固定(理想情况下,尽管实际上它会有所波动。但是,它仍然接近固定值)。因此,更改分辨率不会更改此设备和相机的 MIN/MAX 值。
-
我期待当我设置更高分辨率时,fps 范围会有下限...