EasyPusher/EasyRTMP摄像头偏暗的问题解决

来源:互联网 发布:淘宝今日分享任务在哪 编辑:程序博客网 时间:2024/05/17 03:29

在我们测试EasyPusher/EasyRTMP的过程中发现有些设备预览时,明显偏暗!在稍微暗点的环境中几乎很难看清东西…额,这是怎么回事呢?又是安卓设备的兼容性问题,头疼!

好吧,停止抱怨,撸起袖子开始干.

对,我们想到了.把摄像头的scene设置成了一个比较亮的模式对吧?下面是摄像头可能支持的模式,这么多我逐一试试:

SCENE_MODE_AUTOSCENE_MODE_ACTIONSCENE_MODE_PORTRAITSCENE_MODE_LANDSCAPESCENE_MODE_NIGHTSCENE_MODE_NIGHT_PORTRAITSCENE_MODE_THEATRESCENE_MODE_BEACHSCENE_MODE_SNOWSCENE_MODE_SUNSETSCENE_MODE_STEADYPHOTOSCENE_MODE_FIREWORKSSCENE_MODE_SPORTSSCENE_MODE_PARTYSCENE_MODE_CANDLELIGHTSCENE_MODE_BARCODE

可结果是,这么多模式可以随便设,但就是没啥用.

好吧,上网搜搜吧!我打开Chrome,敲入这几个字:

“camera preview too dark”

经搜索,发现得到的类似的问题也有不少,答案也几乎都差不多:设置曝光或者白平衡.
比如下面这个答案:

Camera.Parameters params = mCamera.getParameters();params.setExposureCompensation(params.getMaxExposureCompensation());if(params.isAutoExposureLockSupported()) { params.setAutoExposureLock(false);}mCamera.setParameters(params);

很开心!加进去试试吧!

结果又悲催了,没效果…

这TM就比较坑爹了

坑归坑,问题还的解决是不?只有想别的办法了,还是这个摄像头参数,我逐一注释下看看!
好,经过我反复地注释/反注释+编译+运行后,发现居然是这个方法导致:

setPreviewFpsRange

因为我把这个函数注释了后,亮度就恢复了.

很(神)开(马)心(鬼)…

这明明是设置帧率的嘛,跟亮度有什么关系?

没办法,安卓就是这样子,好多二三流设备厂商做产品随心所欲,导致各种兼容性问题,拉低了整体的档次,也给程序员带来各种bug.为了适应这些设备,我们必须写一些兼容性的代码,甚至牺牲一些性能.

好吧,这篇博客写完了.我要切换到AS去咯!

阅读全文
0 0
原创粉丝点击