之前 AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &route); 的方法在 ios7之后被禁用了,现在有新的方法来检测iOS设备是否插入耳机:
1 -(BOOL)hasHeadset 2 { 3 AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 4 5 AVAudioSessionRouteDescription *currentRoute = [audioSession currentRoute]; 6 7 for(AVAudioSessionPortDescription *output in currentRoute.outputs) 8 { 9 if([[output portType] isEqualToString:AVAudioSessionPortHeadphones]) 10 { 11 return YES; 12 } 13 14 } 15 16 return NO; 17 18 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步