Я знаю, что этот вопрос неоднократно задавался здесь (*), но проходят годы, и все же это проблема. Если у кого-нибудь есть какие-либо указатели, чтобы попробовать, я буду очень благодарен.
Проблема в том, что я хочу получать уведомления, когда на экране блокировки пользователь хочет воспроизвести, приостановить или пропустить трек из Apple Music.
Я использую MPMusicPlayerController
для воспроизведения музыки из Apple Music (насколько я понимаю, AVPlayer использовать нельзя); и в частности я использую systemMusicPlayer
. Дело в том, что этот плеер на самом деле является «Apple Music player» , то есть он похож на открытие Apple Music и воспроизведение музыки. Более того, при воспроизведении в фоновом режиме блокировка экрана перенаправляет в приложение Apple Music.
Это приводит к тому, что мое приложение не уведомляется, когда пользователь что-то делает. Несмотря на то, что якобы я получаю RemoteControlEvents
, я не получаю его, потому что это Apple Music, и он не может быть уведомлен.
Кажется, я могу быть уведомлен только об изменении состояния воспроизведения или об изменении текущего элемента воспроизведения, но об этом сообщается после того, как пользователь нажал кнопку и действие было выполнено; и я должен быть проинформирован заранее, так как я хочу, чтобы пользователь мог одновременно воспроизводить музыку из нескольких служб.
Я пытался использовать applicationMusicPlayer
или applicationQueuePlayer
, но, похоже, они не работают в плеере с блокировкой экрана. Они работают в фоновом режиме, так как я могу управлять музыкой из командного центра, но элементы управления воспроизведением на экране блокировки не отображаются.
(*) Те же вопросы здесь , здесь и здесь и многие другие, но более чем год назад.