欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

android底层设置相机帧率,Android Camera previewFrame 提高 fps

发布时间:2024/7/23 Android 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 android底层设置相机帧率,Android Camera previewFrame 提高 fps 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

/**

* http://my.oschina.net/lifj/blog/705104

**/

在做Camera预览的时候,通过PreviewFrame()方法获取数据,但是发现fps很低,一直在10~12fps徘徊。

当然,有人推荐使用setPreviewCallbackWithBuffer。试了一下,fps没有明显的提升。虽然没有提升,但还是加上吧,避免camera频繁的创建/销毁内存,引起gc。

在stack上搜索,发现一个4.0以后的方法(应该可以了,谁还在开发4.0之前的版本?):

setRecordingHint

添加之后fps明显上升,一直到最高支持fps。

cam = Camera.open();

cam.setPreviewDisplay(holder);

Camera.Parameters parameters = cam.getParameters();

//new

//3句全加,30fps

parameters.setRecordingHint(true);//去掉这句,12fps

//parameters.setAutoExposureLock(true);//去掉这句,30fps

// parameters.setAutoWhiteBalanceLock(true);//去掉这句,30fps

parameters.setFlashMode("off"); // 无闪光灯

parameters.setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO);

parameters.setSceneMode(Camera.Parameters.SCENE_MODE_AUTO);

parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);

parameters.setPreviewFormat(PreviewFromat_NV21);

// 这两个属性 如果这两个属性设置的和真实手机的不一样时,就会报错

parameters.setPictureSize(320, 240);

parameters.setPreviewSize(320, 240);

cam.setParameters(parameters);

总结

以上是生活随笔为你收集整理的android底层设置相机帧率,Android Camera previewFrame 提高 fps的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。