目前我涉及的app要获取系统是否为静音模式,到网上搜了一下,千篇一律的都是一样的,而且都是iOS5.0以前才适应的知识,这个大家去搜一下就会很容易发现,找了很久终于找到一个5.0以后适用的,那位大神的类库写的还有点问题,在我7.0的手机上监测的不是很准确,自己手动把类库更新了下,跟大家分享一下:
大神利用的方法是利用一段简短的audio route在后台运行一下来监测是否是静音状态。
类库及相关文件请去免费下载附件(点击打开链接)。
使用方法就是将RBDMuteSwitch.h, RBDMuteSwitch.m 和 detection.aiff添加到你的app;
然后导入头文件 #import "RBDMuteSwitch.h";
在你的interface中添加声明的delegate @interface MainViewController : UIViewController <RBDMuteSwitchDelegate>;
在你的实现代码中通过以下代码来监测
[[RBDMuteSwitch sharedInstance] setDelegate:self]; [[RBDMuteSwitch sharedInstance] detectMuteSwitch];
添加delegate方法来判断是否是静音模式;
- (void)isMuted:(BOOL)muted { if (muted) { NSLog("Muted"); } else { NSLog("Not Muted"); } }
这样整个监测过程就完成了,希望对大家有帮助。