是否可以将音频仅输出到iOS设备的耳机插孔而不是其他地方? (例如,不是扬声器或蓝牙)
我们正在试验一个硬件附加组件,它接收来自音频插孔的音调输入。我们可以尝试检测耳机插孔是否已连接,但是当连接了蓝牙音频输出设备时仍然会出现这种情况 - 我们不希望在用户的蓝牙耳机或扬声器中听到音调。
答案 0 :(得分:6)
您需要阅读AudioSessionProgrammingGuide
您可以通过使用kAudioSessionProperty_AudioRoute属性调用AudioSessionGetProperty来获取当前音频'route'。这会为您提供一个字符串,如“耳机”或“扬声器”,并播放音频文件接收'路线'值
CFStringRef route;
UInt32 propertySize = sizeof(CFStringRef);
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &route);
NSLog(@"%@ %@",route,kAudioSessionInputRoute_Headphone);
NSLog(@"%ld",CFStringGetLength(route));
if ([(__bridge NSString *)route isEqualToString:@"Headphone"])
{
// play audio sound
}
else
{
// not play audio sound
}
我希望它可以帮到你