Повторите MPMediaItem на MPMusicPlayerController - PullRequest
0 голосов
/ 22 мая 2019

Я создаю приложение для iOS, которое по сути работает как клиент Apple Music.Я использую MusicKit для извлечения данных и Media Player для воспроизведения песен.

Мое приложение имеет функцию «вверх дальше», где пользователь может выбирать, что слушатьзатем, выбирая любой предмет из своей коллекции.Это подразумевает, что очередь воспроизведения может иметь повторяющиеся песни (например, если пользователь выбирает песню, которая уже находится в очереди).В настоящее время я добавляю песню в очередь через applicationQueuePlayer.perform (queueTransaction: завершениеHandler:) метод.

Теперь, к проблеме: представлена ​​песня, которую вставляет пользовательтем же MPMediaItem , который уже находится в очереди.Поэтому у меня один и тот же объект в двух разных индексах игровой очереди.Если я попытаюсь установить nowPlayingItem проигрывателя на эту песню, он будет учитывать первое вхождение и воспроизводить его оттуда.У меня нет возможности указать, хочу ли я воспроизводить первое или второе вхождение песни.

Я понимаю, что это ограничение API (было бы лучше установить индекс очереди для воспроизведения, а не MPMediaItem), но я ищу некоторые обходные пути.Это важная функция для моего приложения.

Я думаю, что решением может быть копирование MPMediaItem перед повторной вставкой его в очередь (поэтому у меня будет два объекта с разными адресами памяти), но у меня не получилоськопирование.

У кого-нибудь есть идеи?Спасибо!

...