iOS 设备音频输出枚举

iOS Device Audio outputs enumeration

我有一个 iphone 4s 和一个 ipod touch。 iphone 有两个可用的音频输出(扬声器和耳朵)。

ipod touch 只有扬声器。

如何枚举 iOS 设备可用的输出并检测输出是扬声器输出还是耳朵输出?

谢谢, 丹尼尔

您应该可以使用 AVFoundation 查询有关当前路由输出的信息。

AVAudioSession *session = [AVAudioSession sharedInstance];
AVAudioSessionRouteDescription *route = [session currentRoute];
NSLog(@"%@", route.outputs); // outputs contains an array of AVAudioSessionPortDescription objects

https://developer.apple.com/library/prerelease/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/index.html#//apple_ref/doc/uid/TP40008240-CH1-SW111

在最低级别,每个 AVAudioSessionPortDescription 对象都包含您需要的所有信息。