Я разрабатываю приложение, которое использует AVPlayer, MPMediaItem и MPMediaQuery. Это работает до тех пор, пока Itunes совпадают. Мы начинаем с MPMediaQuery, затем выполняем некоторую фильтрацию, оставляя некоторые MPMediaItems, затем мы используем AVPlayer, потому что:
1.- мы также играем шумы во время воспроизведения песни
2.- нам нужно подписаться на воспроизведение / остановку событий с iPod.
Все эти функции в настоящее время работают, за исключением случаев, когда в библиотеке ipod включена функция itunes match. Даже когда воспроизводится статус AVPlayer, звука нет. Очевидно, что это не вызывает загрузку песни из iCloud.
Вся информация о том, что у меня есть, на данный момент соответствует этому сообщению:
MPMediaItem и iTunes Match
, в котором говорится, что вы можете инициировать загрузку с помощью вызова воспроизведения MPMusicPlayerController. По причинам, указанным выше, мы не можем использовать этот класс для управления собственным игроком.
У меня есть две идеи, как решить эту проблему:
A. Найдите способ проверить, загружена ли уже песня и доступна ли она в библиотеке для воспроизведения с помощью AVPlayer. Если песня недоступна, сообщите пользователю, что мы не поддерживаем недоступные песни.
Б. Найдите способ начать загрузку песни непосредственно перед тем, как она станет следующим элементом для воспроизведения.
Я все еще не могу найти, как реализовать любое из этих решений, и я не нашел никакой соответствующей документации, поэтому я отправил свое приложение с предупреждением, чтобы пользователи не могли использовать это приложение, если они используют itunes match.