【发布时间】:2013-07-25 17:19:47
【问题描述】:
我尝试使用以下代码获取 iPhone 上可用音频输入设备的列表:
CFArrayRef arrayRef;
UInt32 size = sizeof(arrayRef);
OSStatus status = AudioSessionGetProperty(kAudioSessionProperty_InputSources, &size, &arrayRef);
assert(status == noErr);
NSArray *array = (__bridge NSArray *)arrayRef;
调用正常并返回,但结果数组始终为空,无论我连接的是什么硬件。我尝试了两种常用的手机耳机,一种来自 Apple,一种来自三星,还有两种 USB 麦克风(iXY from Rode 和 iM2X from Tascam),但阵列始终保持空白。所以我想知道这个属性实际上会列出什么样的输入源?到底好用吗?
通过在音频路由上使用侦听器回调,我能够验证是否正确检测到所有 4 个设备。我还能够使用每个设备录制音频,因此它们都可以正常工作。我使用的是装有 iOS 6.1.3 (10B329) 的 iPhone 4S。
【问题讨论】:
标签: iphone ios core-audio