我想写一个iOS音乐播放器应用程序,在后台循环播放音乐。我不希望音乐停止。此外,我想运行一个定时器,每隔一段时间执行更新,可能会改变播放的音乐。
但是,当我尝试编写这个应用程序时,音乐最终会在一段时间后停止播放。另外,我注意到iTunes播放器也有相同的行为。如果我将iTunes设置为无限循环某首歌曲,并让它播放,在几小时内,音乐将停止。
我已经为我的应用程序设置了“音频”后台执行,并且我有以下代码来开始播放音频:
为什么iOS会强制关闭我的应用程序,导致音乐停止播放和计时器停止运行?
但是,当我尝试编写这个应用程序时,音乐最终会在一段时间后停止播放。另外,我注意到iTunes播放器也有相同的行为。如果我将iTunes设置为无限循环某首歌曲,并让它播放,在几小时内,音乐将停止。
我已经为我的应用程序设置了“音频”后台执行,并且我有以下代码来开始播放音频:
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with:AVAudioSessionCategoryOptions.mixWithOthers)
try AVAudioSession.sharedInstance().setActive(true)
let player = try AVAudioPlayer(contentsOf: sound)
player.numberOfLoops = -1
player.prepareToPlay()
player.delegate = self
player.play()
func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
player.play()
}
为什么iOS会强制关闭我的应用程序,导致音乐停止播放和计时器停止运行?