在iOS5中检测静默模式?
过去我使用过这种方法来检测无声开关是否启用:
- (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; }
这不再适用于我的iPad或iPhone上的iOS5。 这是一个已知的问题? 我一直没能find任何堆栈溢出或苹果开发论坛的答案。
希望你能帮助…
从iOS 5开始,我们将无法检测到静音开关状态…
苹果公司的答案就是接受的答案: 使用AVAudioPlayer检测iPhone的环/静音/静音开关不工作?
如iOS开发者库中所提到的,属性kAudioSessionProperty_AudioRoute已被弃用。 相反,请使用kAudioSessionProperty_AudioRouteDescription
这个问题已经在这里回答: 使用AVAudioPlayer无法正常工作,检测iPhone的环/静音/静音开关?