我正在使用AVAudioSession来检测外部麦克风是否连接到我正在使用的设备(在这种情况下是iPad 2) . 但是,当我连接外置麦克风时,以下呼叫返回nil,而当我没有连接时 .

NSArray *availableInputs = [[AVAudioSession sharedInstance] availableInputs];
AVAudioSessionPortDescription *port = [availableInputs objectAtIndex:0];

我会假设当没有连接麦克风时,这将返回一个包含内部麦克风的列表,连接外部麦克风将返回包括内置麦克风和外部麦克风的列表 .

This thread表示它应该返回这些结果(在这种情况下有错误,但这似乎无关紧要),所以我没有得到正确的输出 . 也许有's a flag that needs to be set to show that I' m使用多路音频 .

任何帮助,将不胜感激 .