我很抱歉再次提出这个问题,这个问题已多次讨论过了。但没有一个答案对我没有帮助。我只需要在viewDidLoad
中添加一些简单的代码来检查耳机是否已插入或未插入。 (如果他们不是我想要弹出简单的信息,但那不是我要问的怎么做。)任何帮助?
答案 0 :(得分: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;
}
答案 1 :(得分:1)
以下是Gabriele Petronella编写的Swift 1.2版本代码
//This method checks if headphones are plugged in.
func areHeadphonesPluggedIn()->Bool
{
var availableOutputs = AVAudioSession.sharedInstance().currentRoute.outputs
for portDescription in availableOutputs
{
if portDescription.portType == AVAudioSessionPortHeadphones
{
return true
}
}
return false
}