Хитрость в том, чтобы не использовать MPMusicPlayerController
, поскольку, когда ваше приложение переходит в фоновый режим, оно фактически отказывается от управления приложением iPod ( вы можете проверить это, закрыв свое приложение и открыв приложение iPod ).
Для музыкального приложения, которое я сейчас разрабатываю, я свернул свой собственный музыкальный проигрыватель, используя AVAudioSession
и AVPlayer
(, а не AVAudioPlayer
).Я реализовал очередь на плеере и источник данных ( похож на UITableViewDatasource
), который питает очередь.Все это красноречиво работает в фоновом режиме и никак не связано с приложением iPod ( и в качестве дополнительного бонуса значок приложения отображается рядом с пультом дистанционного управления на панели многозадачности ).
Если вы разработали нечто подобное, то, когда вы запрашиваете у источника данных следующий элемент в очереди, вы можете запросить набор правил и принять решение о том, что делать дальше.