如何解决在AVAudioSession上设置playAndRecord类别会导致路由更改
我有一个AVAudioSession,它始终在录制,并且偶尔播放音频。我想将其与当前正在播放的音频(Apple Music,Spotify)混合使用,并且仅在需要播放某些内容时才使用。在大多数情况下,用户将使用耳机(allowBluetoothA2DP)。
当我使用playAndRecord激活会话时,它会导致其他音频丢失几百毫秒:
try! audioSession.setCategory(.playAndRecord,mode: .default,options: [.allowBluetoothA2DP,.mixWithOthers])
try! audioSession.setActive(true)
这似乎是因为它导致路线更改(routeChangeNotification
)。有什么方法可以避免在录制开始时中断用户的音频?我什至无法用音调掩盖沉默,因为直到辍学结束,我才能播放音调。
如果我可以按需打开闪避,那么在录制开始时处理单个辍学可能是可行的。是否可以在不重新激活会话的情况下更改会话的回避选项(并导致另一个路由更改中断)?
或者有一种方法可以手动隐藏其他应用程序的音频吗?这感觉很牵强,我认为我根本无法访问其他应用程序的音频,但是值得一问。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。