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

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

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

SCENE_MODE_AUTO
SCENE_MODE_ACTION
SCENE_MODE_PORTRAIT
SCENE_MODE_LANDSCAPE
SCENE_MODE_NIGHT
SCENE_MODE_NIGHT_PORTRAIT
SCENE_MODE_THEATRE
SCENE_MODE_BEACH
SCENE_MODE_SNOW
SCENE_MODE_SUNSET
SCENE_MODE_STEADYPHOTO
SCENE_MODE_FIREWORKS
SCENE_MODE_SPORTS
SCENE_MODE_PARTY
SCENE_MODE_CANDLELIGHT
SCENE_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去咯!

EasyRTMP项目介绍

EasyRTMP是EasyDarwin团队开发的一套RTMP直播推送功能组件,内部集成了包括:基本RTMP协议、断线重连、异步推送、环形缓冲区、推送网络拥塞自动丢帧、缓冲区关键帧检索、事件回调(断线、音视频数据回调),通过EasyRTMP我们就可以避免接触到稍显复杂的RTMP推送或者客户端流程,只需要调用EasyRTMP的几个API接口,就能轻松、稳定地进行流媒体音视频数据的推送,支持市面上绝大部分的RTMP流媒体服务器,包括Red5、Ngnix_rtmp、crtmpserver等主流RTMP服务器,全平台支持:Windows、Linux、ARM(各种交叉编译工具链)、Android、iOS;

EasyRTMP项目地址:https://github.com/EasyDarwin/EasyRTMP

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

最新文章

  1. 【.NET深呼吸】清理对象引用,有一个问题容易被忽略
  2. Organization SYMMETRIC MULTIPROCESSORS
  3. [转]MYSQL远程登录权限设置
  4. String的一些蹊跷
  5. Ext is not defined
  6. Java Day 10
  7. Oracle索引状态查询&索引重建
  8. C - The Hardest Problem Ever
  9. 3. Shell 基本运算符
  10. 目前微信 微博 新浪 豆瓣等所有分享的js插件
  11. NOI 2009 诗人小G
  12. 合并css 合并图片 合并js
  13. ACM Least Common Multiple
  14. git中如何撤销部分修改?
  15. [转帖]SAP一句话入门:Finacial & Controlling Accounting
  16. 【洛谷P2966】Cow Toll Paths
  17. 基于 Confluence 6 数据中心的 SAML 单点登录设置你的身份提供者
  18. elk kibana查询语法
  19. Spark记录-Spark-Shell客户端操作读取Hive数据
  20. 【转】Python流程控制语句

热门文章

  1. json手动解析详解
  2. Codeforces Round #464 (Div. 2) B. Hamster Farm[盒子装仓鼠/余数]
  3. EV根证书
  4. linux使用tar命令打包压缩时排除某个文件夹或文件
  5. 2017.2.7 开涛shiro教程-第六章-Realm及相关对象(一)
  6. linux中grep注意
  7. [Django]中建立数据库视图
  8. Linux系统内核性能调优
  9. Predicate与filter
  10. JAVA Eclipse 创建android xml看不到预览怎么办