Как заставить мое приложение IOS постоянно воспроизводить музыку в фоновом режиме? - PullRequest
0 голосов
/ 16 мая 2018

Я хочу написать приложение для музыкального проигрывателя iOS, которое воспроизводит музыку в фоновом режиме. Я не хочу, чтобы музыка остановилась. Кроме того, я хочу запустить таймер, который время от времени выполняет обновления, которые могут изменить воспроизводимую музыку.

  • Когда я пытаюсь написать это приложение, музыка через некоторое время перестает играть. Кроме того, я заметил, что iTunes Player имеет такое же поведение. Если я настрою 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 убивает мое приложение и перестает воспроизводить музыку и запускать мой таймер?

1 Ответ

0 голосов
/ 04 августа 2018

Использование MPMusicPlayerController.systemMusicPlayer вместо AVAudioPlayer https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontroller?language=objc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...