我正在尝试检测用户的设备是否已静音(手机侧面的按钮)。 我发现这种方法可以检测到这种情况,但在iOS7中不推荐使用AudioSessionGetProperty。
- (BOOL)deviceIsSilenced {
CFStringRef state;
UInt32 propertySize = sizeof(CFStringRef);
OSStatus audioStatus = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
if (audioStatus == kAudioSessionNoError) {
NSLog(@"audio route: %@", state) // "Speaker" regardless of silent switch setting, but "Headphone" when my headphones are plugged in
return (CFStringGetLength(state) <= 0);
}
return NO;
}
任何人都有解决方案吗?
答案 0 :(得分:0)
根据Sound Switch,没有公共API来检测静默开关的状态,但是它们提供了一个黑客攻击(使用公共API,因此被认为可以用于Ap Store批准,但仍然需要处理小心):
http://sharkfood.com/content/Developers/content/Sound%20Switch/