【问题标题】:Bluetooth Headset causing routing problems on iOS蓝牙耳机在 iOS 上导致路由问题
【发布时间】: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


    【解决方案1】:

    显然这只是旧版本 iOS 的限制/怪癖,但从 iOS 10 开始,我只需要使用 AVAudioSessionCategoryOptionAllowBluetoothA2DP 标志。

    来源:Keep bluetooth sound when initializing AVAudioSession

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-09
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多