rsc*_*rsc 4 singleton ios avaudiosession
我的理解是,您的应用程序中只能有 1 个 AVAudioSession(因为它是一个单例,因此您总是收到相同的实例)。
那么,setActive()函数的目的是什么?由于我只能有一个会话,因此我没有看到该功能的正确用例。
AVAudioSession 文档:https : //developer.apple.com/documentation/avfoundation/avaudiosession
来自苹果文档:
随着setActive您的应用程序要求系统使用的音频。例如,您可以在音乐应用程序正在播放时发出请求,系统会根据优先级状态中断它以播放您的音频。
激活和停用您的音频会话
尽管 AVFoundation 播放和录音类会自动激活您的音频会话,但手动激活它可以让您有机会测试激活是否成功。但是,如果您的应用程序具有播放/暂停 UI 元素,请编写您的代码,以便用户必须在激活会话之前按下播放。同样,在更改音频会话的活动/非活动状态时,请检查以确保呼叫成功。编写您的代码以优雅地处理系统拒绝激活您的会话。
对于时钟或日历闹钟或来电,系统会停用您的音频会话。当用户解除警报或选择忽略电话时,系统会允许您的会话再次处于活动状态。