android底层设置相机帧率,Android Camera previewFrame 提高 fps
/**
*?http://my.oschina.net/lifj/blog/705104
**/
在做Camera預(yù)覽的時候,通過PreviewFrame()方法獲取數(shù)據(jù),但是發(fā)現(xiàn)fps很低,一直在10~12fps徘徊。
當然,有人推薦使用setPreviewCallbackWithBuffer。試了一下,fps沒有明顯的提升。雖然沒有提升,但還是加上吧,避免camera頻繁的創(chuàng)建/銷毀內(nèi)存,引起gc。
在stack上搜索,發(fā)現(xiàn)一個4.0以后的方法(應(yīng)該可以了,誰還在開發(fā)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);
// 這兩個屬性 如果這兩個屬性設(shè)置的和真實手機的不一樣時,就會報錯
parameters.setPictureSize(320, 240);
parameters.setPreviewSize(320, 240);
cam.setParameters(parameters);
總結(jié)
以上是生活随笔為你收集整理的android底层设置相机帧率,Android Camera previewFrame 提高 fps的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++学习之路 | PTA乙级—— 10
- 下一篇: raid 物理盘缓存状态_使用MegaC