我正在使用AVAudioSession和远程IO,目的是通过音频插孔连接器和内置麦克风记录一些信息...我想iOS 6的新功能是可能的:多路由音频。
为此,我想从我的音频会话中获取输入数据源:(https://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/c/data/AVAudioSessionCategoryMultiRoute)
我正在做的是:
AVAudioSession *session = [AVAudioSession sharedInstance];
NSArray *available_outputs = [session inputDataSources];
(我也在配置音频会话并激活它)
我得到的是available_outputs
中的所有零...
我做错了什么?
找到了。
从文档中:
这目前仅适用于某些 USB 设备。
此 API 将在 iOS 7 中更改,但 6 仅限于"某些 USB 设备"的模糊定义。
顺便说一句,根据我的测试 - 它适用于 iPhone 麦克风的 iOS 6.02,但不适用于 6.1.4(两次测试都在 iPhone 5 上)。