我过去曾使用此方法来检测是否启用了静音开关:
- (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。这是一个已知的问题?我无法在堆栈溢出或 Apple 开发论坛上找到任何答案。
希望你能帮助...