在我的应用程序中,如果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];
但是,当我尝试使用类别setCategory:AVAudioSessionCategoryPlayAndRecord时.路由到蓝牙设备停止工作..我不知道为什么.因为右边,蓝牙选项应该只适用于Record或PlayAndRecord类别......
/*仅对AVAudioSessionCategoryRecord和AVAudioSessionCategoryPlayAndRecord*/有效
另外:我是否可以只使用蓝牙输出(输入仍然使用手机默认的麦克风)?
UPDATE
我先调用setMode,然后调用setCategory来改变顺序.它首次运行应用程序(一个调用).当我尝试再次执行相同的操作时,currentRoute仍然给我输出=蓝牙但实际输出返回默认的手机前置扬声器.