我正在我的 iPad 应用程序中实现录音功能。我想提示用户将耳机与麦克风连接以获得更好的性能。为此,我需要检查用户是否已将耳机与麦克风连接。
在 AVAudioSession 中有一个方法 inputIsAvailable。但是这个方法对于 iPad 的内置麦克风也返回“是”。所以,请建议如何检测带麦克风的耳机是否连接到设备?
我正在我的 iPad 应用程序中实现录音功能。我想提示用户将耳机与麦克风连接以获得更好的性能。为此,我需要检查用户是否已将耳机与麦克风连接。
在 AVAudioSession 中有一个方法 inputIsAvailable。但是这个方法对于 iPad 的内置麦克风也返回“是”。所以,请建议如何检测带麦克风的耳机是否连接到设备?
最后,我解决了我的问题:) 以下代码是解决方案:
CFStringRef newRoute;
UInt32 size;
size = sizeof(CFStringRef);
OSStatus error = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &size, &newRoute);
if (error)
{
}
else
{
CFShow(newRoute);
}
newRoute 可以有不同的值。如果 newRoute 的值为“HeadsetInOut”,则带麦克风的耳机连接到 iPad。