我们有一个应用程序,可以播放一些音频,同时躲避其他可能正在播放的应用程序(音乐,spotify等)的声音。
这在大多数情况下都有效,并且外部音频可以适当地回避。但是,每当我们调用AVAssetWriter实例进行startWriting时,回避都会完全停止并且永远不会恢复。恢复它的唯一方法似乎是停止会话并重新启动它,再次设置类别不会执行任何操作。有谁遇到过类似的回避问题并且有解决方案吗?谢谢!
...
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .spokenAudio, options: [.duckOthers, .interruptSpokenAudioAndMixWithOthers])
try AVAudioSession.sharedInstance().setActive(true)
...
self.assetWriter.startWriting()
...