Ios 将iPhone音频从蓝牙输入路由到默认输出(非蓝牙)

Ios 将iPhone音频从蓝牙输入路由到默认输出(非蓝牙),ios,core-audio,Ios,Core Audio,我正在从事一个项目,该项目需要从蓝牙麦克风到iPhone的默认设备进行几乎实时(我们可以使用一些核心音频延迟)的音频监控 我两个都试过了: UInt32 allowBluetoothInput = 1; OSStatus stat = AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof (allowBluetoothInput), &allowBluetoo

我正在从事一个项目,该项目需要从蓝牙麦克风到iPhone的默认设备进行几乎实时(我们可以使用一些核心音频延迟)的音频监控

我两个都试过了:

UInt32 allowBluetoothInput = 1;
OSStatus stat = AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof (allowBluetoothInput), &allowBluetoothInput);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
stat= AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute, sizeof (audioRouteOverride), &audioRouteOverride);

但两者都不会产生正确的行为


是否有任何属性可以设置以使其正常工作?

您所说的是“通过语音讲话”应用程序?我在这方面做了一些研发,然后遇到了您正在谈论的问题。目前看来,这在iOS上是不可能的。您无法将iPhone配置为从麦克风录音,并将录音发送到扬声器进行即时播放。你能做的最好的事情就是把它录下来,停下来并发送出去。无法在音频会话中配置通过扬声器录制和播放。花时间研究这个(就像我做的那样)会让人心烦。它与核心音频黑客无关,它与系统允许的内容有关

UInt32 overrideAudioRoute = kAudioSessionOverrideAudioRoute_None;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute, sizeof (overrideAudioRoute), &overrideAudioRoute);
UInt32 doChangeDefaultRoute = 1;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(doChangeDefaultRoute), &doChangeDefaultRoute);