为什么AVAudioPlayer会在应用程序来自后台模式后继续播放,即使在应用程序进入后台之前播放器已暂停?
一般来说我想知道为什么AVAudioPlayer会在应用程序来自后台后自动继续播放(导致应用程序进入后台时 - 我无法像其他代表那样捕获beginInterruption AVAudioPlayer和AVAudioSession)。 ps:对不起我的英语:)
答案 0 :(得分:0)
当您在后台推送应用程序时,应用程序将处于休眠状态,即它不再处于活动状态。这是您无法捕获beginInterruption的原因。当应用程序进入前台时,应用程序再次变为活动状态,这就是AVAudioPlayer再次开始播放的原因..我希望这有帮助
答案 1 :(得分:0)
我今天花了几个小时试图找出完全相同的东西。
每当我的应用程序进入后台模式时,音频会在UIApplicationDidEnterBackgroundNotification之后自动暂停并在我获得UIApplicationWillEnterForegroundNotic之前继续播放。即使我在收到背景通知时暂停了它。
当我启用UIBackgroundMode音频时,我可以在应用程序进入后台时暂停我的AudioQueue(或AVAudioPlayer,如果你使用它)。这导致我的UI显示音频播放器已暂停并使我能够完全控制应用程序状态之间的音频播放。
答案 2 :(得分:0)
到目前为止,我为iOS 13 SDK提出的修复程序(不确定是否与此相关,但是从iOS 12 SDK迁移到13之后,对我来说是bug出现了),看起来像这样:
23(included)