8

У меня есть музыкальное приложение, написанное в swift, я использую MPMusicPlayerController.systemMusicPlayer, также попробовал applicationMusicPlayer.обнаруживает уведомления MPMusicPlayerController в фоновом режиме

Музыка играет отлично в фоновом режиме, как ожидалось.

Когда мое приложение находится в фоновом режиме, мне нужны уведомления об изменении состояния воспроизведения, поэтому мое приложение может определить следующую песню для воспроизведения.

У меня есть следующее в моем методе viewDidLoad. Мой метод «playbackChanged» вызывается со всеми правильными состояниями, если мое приложение находится на переднем плане.

NSNotificationCenter.defaultCenter().addObserver(
     self, 
     selector: "playbackChanged", 
     name:MPMusicPlayerControllerPlaybackStateDidChangeNotification, 
     object: MPMusicPlayerController.systemMusicPlayer() 
    ) 

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

Любые идеи, что происходит не так?

+0

Вы уже здесь? – newenglander

ответ

0

Вызов beginGeneratingPlaybackNotifications() на MusicPlayer, похоже, сработал для меня.

MPMusicPlayerController.systemMusicPlayer().beginGeneratingPlaybackNotifications() 
NSNotificationCenter.defaultCenter().addObserver(
    self, 
    selector: "playbackChanged", 
    name:MPMusicPlayerControllerPlaybackStateDidChangeNotification, 
    object: MPMusicPlayerController.systemMusicPlayer() 
) 

UPDATE: К сожалению MPMusicPlayerNotifications не будет надежно работать в фоновом режиме.

+0

в фоновом режиме тоже? – evenodd

+0

Я сделал больше тестов, и, к сожалению, как только приложение будет приостановлено, он не будет выполнять код до тех пор, пока не будет активен снова. Из того, что я читал, уведомления MPMusicPlayer не будут работать в фоновом режиме. Теперь AVPlayer выполняет код в фоновом режиме и работает с элементами библиотеки iPod, но его сложнее настроить. –

 Смежные вопросы

  • Нет связанных вопросов^_^