adi*_*dib 1 core-audio audiosession ios avaudiosession
是否可以仅将音频输出到iOS设备的耳机插孔而不是其他地方?(例如不是扬声器或蓝牙)
我们正在试验一个硬件附加组件,它接收来自音频插孔的音调输入.我们可以尝试检测耳机插孔是否已连接,但是当连接蓝牙音频输出设备时仍然会出现这种情况 - 我们不希望在用户的蓝牙耳机或扬声器中听到音调.
您需要阅读AudioSessionProgrammingGuide
您可以通过使用kAudioSessionProperty_AudioRoute属性调用AudioSessionGetProperty来获取当前音频"路由".这会为您提供一个字符串,如"耳机"或"扬声器",并播放音频文件接收'路由'值
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
}
Run Code Online (Sandbox Code Playgroud)
我希望它对你有所帮助