android系统如何在静音模式下关闭camera拍照声音
来源:互联网 发布:如何学数控编程 编辑:程序博客网 时间:2024/05/11 16:30
http://blog.csdn.net/dyfleoo/article/details/7912021
话说为了防止偷拍,业内有不成文规定,手机公司在做camera时,点击拍照和录像键的时候,必须要有提示音。因此,google也就非常人性化的将播放拍照声音的函数,放到了cameraService中,防止开发者能开发出不响的camera,从而只要调用拍照函数,一定会响,这是写死在framework中的。
话说这个规定在当今有点不合时宜,这不,今天我收到测试提的一个BUG,说是公司的新需求,要求在静音模式下拍照声音也得取消。这么无耻的需求,也许就在我们中国最大的山寨手机公司才会提到。废话不多说,看看是怎么改的。
刚开始想到的是调用audiomanager的service,但是这会涉及到进程间通信,比较繁琐。所以用到了SystemProperity。想在APP监听点击事件时增加一个property,将当时的aduio状态写进去,如果为静音模式,则写入1,然后cameraservice再调用playsound时也取这个property,来判断是否playsound。
关于在app中写入systemprperty,我想引用一下大神的博客,博客地址http://www.cnblogs.com/eustoma/archive/2011/05/28/2415859.html。
以下为引用的博文:
---------------------------------------------------------------------------------------------------------------------------------------start
使应用程序具有AID_SYSTEM的UID
那如何使应用程序的uid变为1000呢?
由于我可以在Android系统源码的环境下用make来编译,所以需要做如下几步:
l 在应用程序的AndroidManifest.xml文件中的manifest节点中加入属性:
android:sharedUserId="android.uid.system";
通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,这样就有权限来设置前缀为hw.的属性了。
l 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform;
加入UID还不够,如果这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform. key,就是platform.pk8和platform.x509.pem两个文件。通过这样的设置,系统才可以拿到platform.pk8和platform.x509.pem两个文件。使用这两个key签名后apk才真正可以放入系统进程中。
然后使用mm命令来编译,生成的apk的uid就会成为1000。在去调用property_set("hw.jpeg.path", "/data/test.jpg");就不会有问题了。
---------------------------------------------------------------------------------------------------------------------------------------------end
忙活半天发现其实在AudioManager.java文件中,已经将一个KEY-VALUE值写入到了SystemProperity中:
然后在CameraService.cpp文件中,关于调用playsound()函数的地方加入如下判断:
注意:property_get()函数需要引入头文件,<cutils/properties.h>
希望能对有同样需求的朋友有所帮助。
- android系统如何在静音模式下关闭camera拍照声音
- android系统如何在静音模式下关闭camera拍照声音(2)
- android系统如何在静音模式下关闭camera拍照声音
- 如何在静音模式下播放声音(需要设置AVAudioSession)
- [FAQ04528]如何在静音模式下也开启拍照音
- Android 如何关闭相机拍照声音
- ios如何实现静音模式下声音仍然可以外放
- android如何更换camera拍照声音(MTK)
- IOS静音模式下播放出声音
- iOS实现静音模式下声音外放
- Android 如何判断静音模式
- android静音模式下仍可以播放媒体声音以及调节其大小。。。。
- Android关闭自定义相机拍照声音
- Android:手机关闭相机拍照声音
- ios音量获取与手机静音模式下播放声音
- Camera拍照声音消除问题
- Android隐藏界面静音拍照
- Android 系统Camera拍照照片旋转
- 动态加载 对话框背景
- oracle表空间查询
- 好消息:买新能源汽车免征购置税
- 动态库提示file too short的错误。
- 黑马程序员—网络编程
- android系统如何在静音模式下关闭camera拍照声音
- Cuda 6.0安装失败,终于找到原因了~
- I,P,B帧和PTS,DTS的关系
- sss
- VMWare Workstation 7 自动化命令
- a
- Aggressive cows 二分
- 常用推荐算法
- Matlab绘制三维曲线(plot3)和三维图形(mesh & surf)