【发布时间】:2017-05-13 07:46:22
【问题描述】:
我目前正在初始化我的 AVAudioSession,如下所示:
NSError *myError = nil;
AVAudioSession* avSession = [AVAudioSession sharedInstance];
[avSession setCategory: AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth error: &myError];
这似乎工作正常。如果我只是从一个设备开始,我的输出就是我的扬声器。如果我插入有线耳机,它会将音频重新路由到耳机。如果我拔掉它,它会重新路由回主扬声器。音频永远不会从接收器中发出。这是我正在寻找的正确行为。
如果我使用我的 beats 耳机(蓝牙)代替有线耳机,这也可以正常工作。
但是,如果我在启动应用程序之前插入 beats 耳机,就会出现问题。应用程序正确选择了它们,一切都很好,但是如果我关闭或断开蓝牙耳机,音频将被路由回接收器而不是扬声器。
我应该做些什么来尊重我的 AVAudioSessionCategoryOptionDefaultToSpeaker 标志?
【问题讨论】:
标签: ios iphone bluetooth avaudiosession