在 iOS 7 中检测静音模式 [英] Detect silent mode in iOS 7
本文介绍了在 iOS 7 中检测静音模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有办法在 iOS 7 中检测静音模式?
is there any way to detect silent mode in iOS 7?
以下代码不适用于 iOS 5 或更高版本
the following code does not work for iOS 5 or later version
-(BOOL)silenced {
#if TARGET_IPHONE_SIMULATOR
// return NO in simulator. Code causes crashes for some reason.
return NO;
#endif
CFStringRef state;
UInt32 propertySize = sizeof(CFStringRef);
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
if(CFStringGetLength(state) > 0)
return NO;
else
return YES;
}
推荐答案
检查此线程 - 使用 AVAudioPlayer 检测 iPhone 的铃声/静音/静音开关不起作用?
还有这个 API - SoundSwitch
And this API - SoundSwitch
工作原理:
- 每秒钟播放一个 0.5 秒的音频文件(完成后..)
- 检查播放声音需要多长时间
- 回调调用真的很快吗?没有播放(静音开关打开)
享受吧!
这篇关于在 iOS 7 中检测静音模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文