文/腾讯优测研发工程师 吴宇焕

优测小优有话说:

android机型适配的坑自然是不少,不想掉坑快来优测优社区~

现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想关又关不掉。。。。。不过话说回来,静音拍照你想做啥?

来到主题上,因为网络上有很多关于“删除或修改快门声音文件是关闭快门声的方法”的内容,所以我就不赘述了。今天我想和大家说的是:在开发中,针对camera的静音功能我们会遇到哪些机型兼容问题?

从Google官方API中也没有明确的指出关于相机拍照时快门声音是如何控制的,关于shutter第一个参数API只是解释为在相机拍照的瞬间进行回调,并没有明确说明是否是对拍照声音的操作。

当调用Camera的takePicture方法进行拍照时,为了防止偷拍等行为,会发出快门拍照的声音,而且此声音无法通过调节音量进行关闭,但由于不同机型不同Rom的差别,使得各个厂商针对此声音的处理不同。
至此我总结了使用takePicture中ShutterCallback来控制拍照声音的三种情况:
1、当takePicture传入第一个参数ShutterCallback(ShutterCallback参数不为空)时,系统会发出快门拍照的声音。
例如HTC 3D EVO,因此这款手机的快门声音可以通过此方法进行控制。

2、无论是否传入ShutterCallback参数系统都没有快门拍照的声音。
例如LG P720手机就有此问题,此类手机问题比较严重,手机厂商自行修改了Rom,导致任何情况下调用takePicture方法进行拍照都没有声音,通过反编译系统照相机可以看出,系统照相机拍照声音是可以随意控制的,当需要声音时直接在应用中调用SoundPool发出拍照音效,否则静音处理。所以我们在设计应用时针对这类机型也可以自行控制拍照声音。
而步步高vivo Y1手机同样有此现象,但和LG不同的是,这款机型的厂商修改了Rom,把拍照声音的控制写在了HAL层中,调用声音的接口没有暴露出来,我们只能通过反射进行对声音的设置。

3、无论是否传入ShutterCallback参数系统都有快门拍照的声音。
例如华为Y220t,这类手机比较麻烦,通过反编译Framework层关于拍照声音是在硬件抽象层(HAL)实现的,所以应用开发无法通过代码控制拍照声音的播放,只能给以相应的提示告诉用户当前静音无效,拍照时会发出快门的声音。
综上所述,使用takePicture中ShutterCallback来控制快门声音时需要针对不同机型做不同处理。

腾讯优测(utest.qq.com)是专业化的移动APP自动化测试工具,提供【兼容性测试】【云手机】【漏洞检测】【VIP定制化测试-优管家】等多维度测试服务,深受用户信赖。

转载于:https://blog.51cto.com/11793647/1827447

腾讯优测-优社区干货精选 |安卓适配之Camera拍照时快门咔嚓声相关推荐

  1. 腾讯优测-优社区干货精选 |  那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声...

    文/腾讯优测研发工程师 吴宇焕 优测小优有话说: android机型适配的坑自然是不少,不想掉坑快来优测优社区~ 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想 ...

  2. 腾讯优测优社区干货精选|手Q刷一刷红包后台设计总结

    文 / 腾讯 邓建俊 优测小优有话说: 以为优社区除了测试知识就没有其他东西啦?手Q大牛带你走一波红包的后台设计!!! 1. 前言 2016除夕夜注定是一个不平凡的夜晚,除了陪家人吃团圆饭.看春晚,还 ...

  3. 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)

    文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的.于是在原基础上针 ...

  4. 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)

    文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的.于是在原基础上针 ...

  5. 腾讯优测干货精选| 安卓开发新技能Get -常用必备小工具汇总

    文/腾讯公司 陈江峰 优测小优有话说: 移动研发及测试干货×××?腾讯优测-优社区你值得拥有~ 开发同学们都知道,安卓开发路上会碰到很多艰难险阻,一不小心就被KO.这时候,没有新技能傍身怎么行?今天我 ...

  6. 腾讯优测优社区干货精选|手Q红包后台设计

    文 / 腾讯 邓建俊 优测小优有话说:  以为优社区除了测试知识就没有其他东西啦?手Q大牛带你走一波红包的后台设计!!! --------------------------------------- ...

  7. 腾讯优测|优社区干货精选-手Q红包后台设计!

    优测小优有话说: 你以为优社区只有测试相关的知识吗?手机QQ大牛带你走一波红包后台设计! 前言 2016除夕夜注定是一个不平凡的夜晚,除了陪家人吃团圆饭.看春晚,还得刷一刷.摇一摇.咻一咻,忙得不亦乐 ...

  8. 腾讯优测优分享 | 分布式系统测试的应用方法——场景注入测试

    腾讯优测是专业的移动云测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务! 在大数据浪潮下,海量数据处理能力的提升是推动大数据不断前行的基础.俗话说,工欲善其事 ...

  9. 腾讯优测优分享 | 多媒体,多问题

    腾讯优测是专业的移动云测试平台,提供全面兼容性测试,远程真机租用等多维度的测试服务,让测试更简单! 有人喜欢听着音乐high起来,有人会随时随地观看热门电视剧.大多数人都会使用QQ.微信,语音聊天.而 ...

最新文章

  1. windows操作系统_如何正确使用windows操作系统?
  2. 第十五届全国大学生智能汽车竞赛-室外光电ROS组预赛方案
  3. [业界资讯]Window7下的IE8新漏洞KB973874成功修复
  4. 汇编中常用的DOS系统调用功能号
  5. cat命令的13个用法
  6. 人工智能学习体系大纲(src:http://blog.sina.com.cn/s/blog_7dbb766f0102xdwu.html)
  7. C#中文件及文件夾的遍历
  8. UITableViewCell中cell重用机制导致内容重复的方法
  9. linux进程获取执行文件路径,如何 获取linux进程的执行文件路径
  10. 5mins看懂数据分析师必备的「波士顿模型」
  11. RFID将成为物联网革命的首战
  12. linux apache 停止命令,linux 下 apache启动、停止、重启命令
  13. 银河麒麟系统如何取得终端的root权限和查看所有服务状态
  14. java函数的定义方法_java函数的定义以及使用方法介绍
  15. 【c4d学习笔记】对称方向不对的问题
  16. linux如何编辑配置文件,如何编辑保存LINUX的配置文件
  17. Dreamweaver CS6安装教程
  18. 关于FTP服务器出现227 Entering Passive Mode错误的解决思路
  19. spring成神之路第十八篇:@ComponentScan、@ComponentScans 详解(bean 批量注册)
  20. 「电创云」:「空间优造」与「绿多多」「绿点」绿色社区

热门文章

  1. 基于 HTML5 Canvas 实现的文字动画特效
  2. (原+转)使用opencv的DFT计算卷积
  3. 在CentOS6.5上安装Tomcat6
  4. Jquery.ajax(……)
  5. Android 虚拟机与真机调试配置
  6. DHCP的安装到简单测试(tar方式)
  7. LINUX入侵检测指导
  8. header中Content-Disposition的作用
  9. PHP中stripslashes()函数的解释
  10. Spring框架是如何判断是否是上传文件请求呢