Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AudioSessionGetProperty已弃用,如何知道设备已静音_Ios_Avfoundation_Avaudiosession_Audiotoolbox - Fatal编程技术网

AudioSessionGetProperty已弃用,如何知道设备已静音

AudioSessionGetProperty已弃用,如何知道设备已静音,ios,avfoundation,avaudiosession,audiotoolbox,Ios,Avfoundation,Avaudiosession,Audiotoolbox,我试图检测用户的设备是否静音(手机侧面的按钮)。 我发现这个方法可以检测到这一点,但AudioSessionGetProperty在iOS7中被弃用 - (BOOL)deviceIsSilenced { CFStringRef state; UInt32 propertySize = sizeof(CFStringRef); OSStatus audioStatus = AudioSessionGetProperty(kAudioSessionProperty_A

我试图检测用户的设备是否静音(手机侧面的按钮)。 我发现这个方法可以检测到这一点,但AudioSessionGetProperty在iOS7中被弃用

- (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商店批准是可以的,但仍需谨慎处理):