在 iOS 7 中检测静音模式
Posted
技术标签:
【中文标题】在 iOS 7 中检测静音模式【英文标题】:Detect silent mode in iOS 7 【发布时间】:2014-01-08 10:06:31 【问题描述】:有什么方法可以检测 ios 7 中的静音模式吗?
以下代码不适用于 iOS 5 或更高版本
-(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;
【问题讨论】:
How to detect iphone is on silent mode的可能重复 所有答案都已弃用! 【参考方案1】:检查这个线程 - Detecting the iPhone's Ring / Silent / Mute switch using AVAudioPlayer not working?
还有这个 API - SoundSwitch
它是如何工作的:
每秒播放 0.5 秒的音频文件(完成后..) 检查播放声音所用的时间 回调调用真的很快吗?未播放任何内容(静音开关已打开)享受吧!
【讨论】:
Soundswitch API URL 已失效 大家好,声音开关演示页面又回来了!在这里获取:sharkfood.com/content/Developers/content/Sound%20Switch 它不能在后台工作,你能帮我如何在后台实现这个吗?请在这里回答:***.com/questions/31604629/… 上面的链接失效了。这是示例项目的 github 版本:github.com/moshegottlieb/SoundSwitch @iMoses,我已使用您的最新链接更新答案,但请随时编辑答案并更新损坏的链接;)以上是关于在 iOS 7 中检测静音模式的主要内容,如果未能解决你的问题,请参考以下文章