在FaceTime视频会话期间,FaceTime会设法在传入的、中断的(“正常”/基于SIM卡的)语音呼叫上播放不同的铃声。此铃声较少干扰。此外,它还设法在暂停视频流的同时继续流式传输音频。
例如,如果我在WhatsApp上尝试相同的方法,WhatsApp只需在来电出现时立即暂停整个呼叫。它还可以播放标准的铃声。
我的用例是向用户播放简短的音频片段(< 10秒),在某些情况下,用户可能只能听1次。因此,如果这个剪辑可以在不被中断的情况下播放,那就太好了。我设法在Android上做到了这一点,在回放期间,来电只会显示一个类似Toast的小系统消息,其中可以接受或拒绝呼叫。铃声也会在短时间内关闭。FaceTime是我所能找到的最好的iOS行为的对应物。
任何建议都是非常感谢的!
发布于 2020-02-26 21:35:55
如果我理解正确的话,您希望播放声音时不会被某些应用程序/呼叫中断。
AVAudioSession提供了setCategory:方法,允许您更改应用程序(会话)正在播放的音频类型。
try? AVAudioSession.sharedInstance().setActive(true)
try? AVAudioSession.sharedInstance().setCategory(.playAndRecord, mode: .default, options: .mixWithOthers)将音频会话设置为活动状态,并为要播放的音频设置适当的类别。根据下面链接中的表格(音频会话类别行为),如果我理解正确的话,AVAudioSessionCategoryPlayAndRecord是您要设置的合适类别。
https://stackoverflow.com/questions/60410518
复制相似问题