【问题标题】:How to check the type of inputAvailable in iPad?如何检查 iPad 中可用的输入类型?
【发布时间】:2010-12-30 10:18:22
【问题描述】:
我正在我的 iPad 应用中实现录音功能。
我想提示用户将耳机与麦克风连接以获得更好的性能。为此,我需要检查用户是否已将耳机与麦克风连接。
在AVAudioSession中有一个方法inputIsAvailable。但是这个方法对于iPad的内置麦克风也返回'Yes'。所以,请建议如何检测带麦克风的耳机是否连接到设备??
【问题讨论】:
标签:
iphone
ipad
avaudiorecorder
avaudiosession
【解决方案1】:
最后,我解决了我的问题 :)
下面这段代码就是解决办法:
CFStringRef newRoute;
UInt32 size;
size = sizeof(CFStringRef);
OSStatus error = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &size, &newRoute);
if (error)
{
}
else
{
CFShow(newRoute);
}
newRoute 可以有不同的值。
如果 newRoute 的值为 'HeadsetInOut' 则带有麦克风的耳机连接到 iPad。