问题描述
我有一个AVAudioSession,它始终在录制,并且偶尔播放音频。我想将其与当前正在播放的音频(Apple Music,Spotify)混合使用,并且仅在需要播放某些内容时才使用。在大多数情况下,用户将使用耳机(allowBluetoothA2DP)。
当我使用playAndRecord激活会话时,它会导致其他音频丢失几百毫秒:
try! audioSession.setCategory(.playAndRecord,mode: .default,options: [.allowBluetoothA2DP,.mixWithOthers])
try! audioSession.setActive(true)
这似乎是因为它导致路线更改(routeChangeNotification
)。有什么方法可以避免在录制开始时中断用户的音频?我什至无法用音调掩盖沉默,因为直到辍学结束,我才能播放音调。
如果我可以按需打开闪避,那么在录制开始时处理单个辍学可能是可行的。是否可以在不重新激活会话的情况下更改会话的回避选项(并导致另一个路由更改中断)?
或者有一种方法可以手动隐藏其他应用程序的音频吗?这感觉很牵强,我认为我根本无法访问其他应用程序的音频,但是值得一问。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)