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