我一直无法让应用程序录制音频,同时让iPhone音乐应用程序通过蓝牙扬声器播放。
例如,如果我这样做:
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionDefaultToSpeaker error:&error];
session setActive:YES error:&error];
然后音乐应用程序将开始通过iPhone内置的扬声器播放音乐,而不是通过蓝牙。换句话说,似乎没有办法在应用程序中录制音频的同时还允许通过蓝牙播放音乐。
如果我删除AVAudioSessionColloryOptionDefaultToSpeaker,那么音频路由将切换到接收器。这比让它通过iPhone扬声器更糟糕。然后我可以设置[会话覆盖输出音频端口:AVAudioSessionPortOverrideSpeaker错误:
如何录制音频而不干扰其他应用程序(尤其是音乐应用程序)通过蓝牙播放?
您认为必须将 AVAudioSession 类别选择“允许蓝牙”
添加到 AVSsion 设置类别中:
允许蓝牙使用。
除此之外,选择录制的麦克风将是AV会话的[[当前路由输入]firstObject]
中设置的麦克风。如果您的蓝牙设备有麦克风,您可能应该检查它/相应地更改它?