reo*_*eor 4 android frame-rate android-camera nexus-4
这个简单的代码:
Camera.Parameters params = currentCamera.getParameters();
params.setPreviewFpsRange( 10000, 15000 );
currentCamera.setParameters( params );
Run Code Online (Sandbox Code Playgroud)
虽然允许值介于5000到120000的允许范围内,但我的Nexus 4(或我的摩托罗拉Atrix)不起作用.
当我尝试分别使用不同于5000和120000的任何最小值或最大值时,我得到:
setPreviewFpsRange(const android::QCameraParameters&): error: FPS range
value not supported
Run Code Online (Sandbox Code Playgroud)
这很傻.此外,我在我的旧版摩托罗拉Atrix(它显示有效的fps范围介于10000和30000之间)上尝试了此代码,它也无效.有什么可以做的吗?
根据我对该主题的搜索,我发现a)在任何地方都没有关于该主题的材料很少,并且b)可能是某些平台不支持此功能的情况.谷歌目前的旗舰手机Nexus 4不支持它有点奇怪,不过......
reo*_*eor 17
啊啊!因此,作为搜索答案的一部分,我使用我的应用程序检查了Nexus 10的操作.事实证明,getSupportedFpsRange函数返回的值是表示可以输入到setPreviewFpsRange的精确重复的范围,并且不支持任何其他重复(无论如何,我都知道).
我发现这是因为Nexus 10从getSupportedFpsRange返回多个双工.我在这里复制了三个设备的getSupportedFpsRange返回值.
LG Nexus 4:
预览FPS-范围值=(5000,120000);
摩托罗拉Atrix:
预览FPS-范围值=(10000,30000);
三星Nexus 10:
预览FPS-范围值=(15000,15000),(24000,24000),(25000,25000),(15000,30000),(30000,30000);
我们做不到
params.setPreviewFpsRange( 29000, 29000 );
Run Code Online (Sandbox Code Playgroud)
强制预览为29fps,除非设备已经特别支持该复制.
当然,我正在调查这个功能的原因是为了在我自己的应用程序中复制Nexus 4的丝滑平滑相机预览.这似乎最终证明,至少在Nexus 4上,setPreviewFpsRange对此无济于事.
是时候继续搜索了.(: