检查应用程序启动时是否插入了耳机

Tom*_*asJ 2 iphone objective-c headphones

我很遗憾再次问这个问题,这个问题在这里多次讨论过.但没有一个答案对我没有帮助.我只需要在a中放一些简单的代码viewDidLoad来检查耳机是否插入或未插入.(如果他们不是我想要弹出简单的信息,但那不是我要问的怎么做.)有什么帮助吗?

Gab*_*lla 9

这应该达到你想要的(iOS 6+兼容)

- (BOOL)areHeadphonesPluggedIn {
    NSArray *availableOutputs = [[AVAudioSession sharedInstance] currentRoute].outputs;
    for (AVAudioSessionPortDescription *portDescription in availableOutputs) {
        if ([portDescription.portType isEqualToString:AVAudioSessionPortHeadphones]) {
            return YES;
        }
    }
    return NO;
}
Run Code Online (Sandbox Code Playgroud)