如何让我的IOS应用程序永远在后台播放音乐?

时间:2018-05-16 10:59:08

标签: ios iphone background

我想写一个音乐播放器iOS应用程序,它在后台循环播放音乐。我不希望音乐停止。此外,我想运行一个计时器,每隔一段时间执行一次更新,这可能会改变播放的音乐。

  • 当我尝试编写此应用时,音乐最终会在一段时间后停止播放。此外,我注意到iTunes播放器具有相同的行为。如果我将iTunes设置为无限循环播放某首歌曲并让它播放,则会在一段时间内播放音乐。

我已经设置了我的应用程序" audio"后台exectution,我有这样的代码开始播放音频:

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会杀死我的应用并让它停止播放音乐并运行我的计时器?

1 个答案:

答案 0 :(得分:-1)

使用MPMusicPlayerController.systemMusicPlayer代替AVAudioPlayer https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontroller?language=objc