У меня немного странная проблема. У меня есть музыкальное приложение, в котором используется расширение [MPMusicPlayerController iPodMusicPlayer]
. Все в порядке, уведомления запускаются при изменении трека и изменении состояния воспроизведения.
У меня есть один экран, на котором пользователю нужно просмотреть одну песню, я не хочу, чтобы он переходил к следующей песне в своей очереди. Поскольку не существует метода делегирования, когда трек БУДЕТ изменяться (изменяется только ДЕЙСТВИТЕЛЬНО), чтобы музыкальный проигрыватель не переходил к следующему треку, я использую новый [MPMusicPlayerController applicationMusicPlayer]
, даю ему текущую воспроизводимую песню iPodMusicPlayer, и все хорошо. Нет новых треков для продолжения, и я не касаюсь исходной очереди iPodMusicPlayer
, поэтому теоретически, когда я закрою этот экран и снова воспользуюсь iPodMusicPlayer
, все должно быть в порядке.
Однако, когда пользователь завершает работу с этим экраном и закрывает его, iPodMusicPlayer
внезапно прерывается, уведомления не вызываются, а когда я помещаю приложение в фоновый режим, музыка перестает играть, заставляя меня поверить, что iPodMusicPlayer
теперь на самом деле applicationMusicPlayer
.
Итак, мой вопрос в основном: мне нужен способ предотвратить переход музыкального проигрывателя к следующему треку в очереди. Переключение на applicationMusicPlayer с одним треком, похоже, ломает вещи, как объяснялось выше. Какое лучшее решение?
EDIT: поскольку это может быть немного сложно понять, я создал небольшой проект, чтобы показать проблему: https://github.com/kevinrenskers/MPMusicPlayerControllerTest. Откройте приложение во время воспроизведения музыки и убедитесь, что кнопка воспроизведения работает правильно. Теперь откройте всплывающее окно, снова закройте его, и кнопка воспроизведения не работает.