iOS 7蓝牙输出不适用于AvaudioSessionCategoryPlay和Record

iOS 7蓝牙输出不适用于AvaudioSessionCategoryPlay和Record,ios,iphone,objective-c,ios7,bluetooth,Ios,Iphone,Objective C,Ios7,Bluetooth,在我的应用程序中,如果iPhone连接到蓝牙耳机,则使用蓝牙播放声音。否则使用默认扬声器 这是我的密码 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil]; [[AVAudioSession sharedInstance] setMode:AVAudioSession

在我的应用程序中,如果iPhone连接到蓝牙耳机,则使用蓝牙播放声音。否则使用默认扬声器

这是我的密码

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil];
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeVoiceChat error:nil];
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
但是,当我尝试使用category setCategory:AVAudioSessionCategoryPlayAndRecord时。到蓝牙设备的路由已停止工作。。我不知道为什么。因为根据权利,蓝牙选项应该只适用于录制或播放和录制类别

/*仅对AVAudioSessionCategoryRecord和AvaudioSessionCategoryPlayRecord有效*/

另外:我是否可以仅将蓝牙用于输出(输入仍然使用手机的默认麦克风)

更新


我改变了顺序,先调用setMode,然后调用setCategory。它在第一次运行应用程序(调用)时起作用。当我再次尝试执行相同的操作时,currentRoute仍然给我输出=蓝牙,但实际输出返回到默认的手机前扬声器。

我发布此问题已经有一段时间了,我有点忘记了问题的确切原因。。。如果我没记错的话,那是因为另一个库一直在重写输出路径。不知怎么的,我把它修好了,让它按照我想要的方式工作


我将代码贡献给Jawbone的库。希望这能有所帮助。

这帮我解决了一个稍微不同的问题。非常感谢。你的问题给了我一个答案。谢谢