AudioSessionGetProperty已弃用,如何知道设备已静音
我试图检测用户的设备是否静音(手机侧面的按钮)。 我发现这个方法可以检测到这一点,但AudioSessionGetProperty在iOS7中被弃用AudioSessionGetProperty已弃用,如何知道设备已静音,ios,avfoundation,avaudiosession,audiotoolbox,Ios,Avfoundation,Avaudiosession,Audiotoolbox,我试图检测用户的设备是否静音(手机侧面的按钮)。 我发现这个方法可以检测到这一点,但AudioSessionGetProperty在iOS7中被弃用 - (BOOL)deviceIsSilenced { CFStringRef state; UInt32 propertySize = sizeof(CFStringRef); OSStatus audioStatus = AudioSessionGetProperty(kAudioSessionProperty_A
- (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;
}
-(BOOL)设备许可证{
CFStringRef状态;
UInt32 propertySize=sizeof(CFStringRef);
OSStatus audioStatus=AudioSessionGetProperty(kAudioSessionProperty_AudioRoute、propertySize和state);
if(audioStatus==kAudioSessionNoError){
NSLog(@“音频路由:%@”,状态)/“扬声器”与静音开关设置无关,但在插入耳机时为“耳机”
return(CFStringGetLength(state)根据,没有公共API来检测静默交换机的状态,但它们提供了一种攻击(使用公共API,因此认为Ap商店批准是可以的,但仍需谨慎处理):