监听音量键的两种方法
来源:互联网 发布:企业办公软件app 编辑:程序博客网 时间:2024/05/17 02:43
http://www.jianshu.com/p/4f2fc34a3a52
1、使用KVO监听属性outputVolume
首先,注册监听
在监听的回调中判断是否是我们监听的属性,所有使用KVO监听的属性都是同一个回调方法,当你子类和父类监听了多个属性,必须进行判断。
当音量增加到最大,或者减低到最小变成静音的时候,系统不会再发送音量改变的消息,就是按下音量键的时候,系统不会调用上面的回调。在iOS7之前可以自己设置音量大小,让音量不会增加到最大或者减少到最低。在iOS7 之后,该方法被弃用。
2、使用通知消息机制:
监听AVSystemController_SystemVolumeDidChangeNotification消息。
该消息除了监听音量键之外,应用从后台切换到前台也会发送该消息,所以,还需要判断消息的userInfo的字段AVSystemController_AudioVolumeChangeReasonNotificationParameter,确定发送消息的理由,value值为ExplicitVolumeChange就是我们所需要的。
3、注意:
使用以上两种方法监听音量键,在用户按下音量键的时候,还是会显示系统的音量键弹出框,也会改变系统的音量大小。我们可以自定义一个弹框,放置在屏幕外面,并且显示。这样就会优先显示我们自定义的弹框,不会显示系统自带的。如果自定义的弹框hidden 为YES,也是会弹出系统的提示框。
避免改变系统的音量大小的方法还没找到,以我的理解,无论是上面的KVO还是消息通知都是在系统改变音量之后才会发送消息的。
0 0
- 监听音量键的两种方法
- Android 音量键的监听
- 监听短信的两种方法
- android 控件监听的两种方法
- 按钮监听的两种方法
- 音量键的监听 双击退出程序
- 监听android音量键
- 监听音量键事件
- Android 监听音量键并且改变音量
- 监听音量上下键调节音量
- android监听音量上下键调节音量
- Android的四种监听方法(两种)
- Android 监听软件盘关闭的两种方法。
- 监听手机电话状态改变的两种方法
- ios监听app音量的变化
- iOS 监听App音量的变化
- iOS 监听App音量的变更
- Android中对音量的监听控制
- Appium Android测试中sendkeys 输入速度慢的替代方法
- 课堂教学研究
- php7安装
- Idea使用
- Android 中的 Service 全面总结
- 监听音量键的两种方法
- TypeScript 优秀开源项目大合集
- Zend Framework:Action Helper
- Caffe编译(Win10+Vs2015+Cuda8.0)
- Elasticsearch与Solr的对比
- Activiti使用(二),参数传递
- JAVA_HOME does not contain java
- EasyUI-DataGrid多行动态选择性合并算法实现
- python+Eclipse+pydev环境搭建