那些年,我们在Android机型适配上遇到的坑丨之Camera拍照时快门咔嚓声
文/腾讯优测研发工程师 吴宇焕
现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想关又关不掉。。。。。不过话说回来,静音拍照你想做啥?
来到主题上,因为网络上有很多关于“删除或修改快门声音文件是关闭快门声的方法”的内容,所以我就不赘述了。今天我想和大家说的是:在开发中,针对camera的静音功能我们会遇到哪些机型兼容问题?
从Google官方API中也没有明确的指出关于相机拍照时快门声音是如何控制的,关于shutter第一个参数API只是解释为在相机拍照的瞬间进行回调,并没有明确说明是否是对拍照声音的操作。
例如LG P720手机就有此问题,此类手机问题比较严重,手机厂商自行修改了Rom,导致任何情况下调用takePicture方法进行拍照都没有声音,通过反编译系统照相机可以看出,系统照相机拍照声音是可以随意控制的,当需要声音时直接在应用中调用SoundPool发出拍照音效,否则静音处理。所以我们在设计应用时针对这类机型也可以自行控制拍照声音。
而步步高vivo Y1手机同样有此现象,但和LG不同的是,这款机型的厂商修改了Rom,把拍照声音的控制写在了HAL层中,调用声音的接口没有暴露出来,我们只能通过反射进行对声音的设置。
3、无论是否传入ShutterCallback参数系统都有快门拍照的声音。
例如华为Y220t,这类手机比较麻烦,通过反编译Framework层关于拍照声音是在硬件抽象层(HAL)实现的,所以应用开发无法通过代码控制拍照声音的播放,只能给以相应的提示告诉用户当前静音无效,拍照时会发出快门的声音。
综上所述,使用takePicture中ShutterCallback来控制快门声音时需要针对不同机型做不同处理。
那些年,我们在Android机型适配上遇到的坑丨之Camera拍照时快门咔嚓声相关推荐
- 腾讯优测-优社区干货精选 | 那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声...
文/腾讯优测研发工程师 吴宇焕 优测小优有话说: android机型适配的坑自然是不少,不想掉坑快来优测优社区~ 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想 ...
- Android机型适配问题——Camera拍照时快门咔嚓声
文/腾讯优测 吴宇焕 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想关又关不掉.....不过话说回来,静音拍照你想做啥? 来到主题上,因为网络上有很多关于&qu ...
- 【Android适配问题集锦-相机类】Camera拍照时快门咔嚓声适配问题
现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想关又关不掉.....不过话说回来,静音拍照你想做啥? 来到主题上,因为网络上有很多关于"删除或修改快门声 ...
- 腾讯优测-优社区干货精选 |安卓适配之Camera拍照时快门咔嚓声
文/腾讯优测研发工程师 吴宇焕 优测小优有话说: android机型适配的坑自然是不少,不想掉坑快来优测优社区~ 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想 ...
- Android 机型适配之百分比适配 ConstraintLayout
Android 机型适配之百分比适配 ConstraintLayout 由于Android的品类繁杂,机型适配向来是一个难题,常见的通过LinearLayout+RelativeLayout的方式进行 ...
- Android机型适配之软键盘和输入法
Android机型适配问题是不少Android开发人员转ios开发的原因,因为,Android机型实在是太多了,各大门派纷纷定制rom,碎片化相当严重.以下是我总结的一些些资料 一.软键盘显隐问题 定 ...
- [转]Android机型适配之痛
Android平台的诞生为手机智能化的普及立下汗马功劳,但其最大的缺点也越来越凸显,那就是碎片化严重:设备繁多.品牌众多.版本各异,芯片.摄像头.分辨率不统一等等,这些都逐渐成为Android系统发展 ...
- Android 机型适配
Android平台的诞生为手机智能化的普及立下汗马功劳,但其最大的缺点也越来越凸显,那就是碎片化严重:设备繁多.品牌众多.版本各异,芯片.摄像头.分辨率不统一等等,这些都逐渐成为Android系统发展 ...
- 腾讯Bugly干货分享:Android机型适配之痛
原文地址:http://www.csdn.net/article/2015-09-08/2825645/1 一.个性化十足的Launcher 快捷方式虽然看起来只是一个很小的功能点,但是它涉及到的机型 ...
最新文章
- linux查看接口名,在linux下 怎么查看网络接口的名字? 网络接口的名字英文是什么呀?...
- mysql date_trunc_com.mysql.jdbc.MysqlDataTruncation: Data trunca...
- python基础---模块与包
- vue怎么取消按回车下拉框自动下拉_八月更新第二版,小视频自动竖屏全屏播放,失效校验再次升级!...
- python编程题三
- 用C#快速往Excel写数据
- js ajax上传图片到服务器
- 依存句法分析的任务以及形式化定义
- 北师大计算机组成原理离线作业,北师大网络教育 离线作业 计算机组成原理(一、二、三)...
- 润乾V5打印完成后事务处理
- java thread 几个状态_Java-Thread 线程的几种状态
- 编译安装sqlite-3.6.20【原创】
- vue保存页面的值_vue前端页面跳转参数传递及存储
- 1 CentOS下磁盘LVM扩容
- STL迭代器iterator
- maven项目转换成dynamic项目
- windowsxp中linq 指定的转换无效_.NET Core 3.0 中的新变化
- 【转】android gravity属性 和 weight属性
- Oracle备份还原实践
- java文件的打包和解包,Java包装类:什么是包装类对象,什么是打包和解包,当编译遇到自动打包和解包时会发生什么?...