何时使用AVAudioSession.setActive?

何时使用AVAudioSession.setActive?,ios,singleton,avaudiosession,Ios,Singleton,Avaudiosession,我的理解是,你的应用程序中只能有1个AVAudioSession(因为它是单实例,因此你总是收到相同的实例) 那么,setActive()函数的用途是什么?因为我只能有一个会话,所以我看不到该函数的合适用例 音频文件:来自 使用setActive您的应用程序要求系统使用音频。例如,您可以在音乐应用程序已在播放时发出请求,系统会根据优先级状态中断音乐应用程序以播放您的音频 激活和停用音频会话 尽管AVFoundation播放和录制类会自动激活音频会话,但手动激活它会让您有机会测试激活是否成功。 但

我的理解是,你的应用程序中只能有1个AVAudioSession(因为它是单实例,因此你总是收到相同的实例)

那么,setActive()函数的用途是什么?因为我只能有一个会话,所以我看不到该函数的合适用例

音频文件:来自

使用
setActive
您的应用程序要求系统使用音频。例如,您可以在音乐应用程序已在播放时发出请求,系统会根据优先级状态中断音乐应用程序以播放您的音频

激活和停用音频会话

尽管AVFoundation播放和录制类会自动激活音频会话,但手动激活它会让您有机会测试激活是否成功。 但是,如果您的应用程序具有播放/暂停UI元素,请编写代码,以便用户必须在激活会话之前按播放。同样,更改音频会话的活动/非活动状态时,请检查以确保呼叫成功。编写代码以优雅地处理系统拒绝激活会话的情况

系统会停用时钟或日历闹钟或来电的音频会话。当用户解除警报或选择忽略电话呼叫时,系统将允许您的会话再次激活


好吧,看来这更多的是测试问题,而不是实际的必要性,对吗?是的;)它使您能够验证音频会话激活是否成功,并且您可以处理它。