Получение наиболее воспроизводимого трека из библиотеки iPod (MPMediaQuery) - PullRequest
1 голос
/ 27 сентября 2011

Мне нужно вывести 25 самых проигрываемых песен из моей библиотеки iPod с помощью приложения для iPhone. я использую MPMediaQuery.

Одним из решений было бы зацикливание всех дорожек и их сравнение по MPMediaItemPropertyAlbumTrackCount. Но я думаю, что это немного неэффективно. Есть ли способ напрямую получить плейлист «Самые популярные элементы»?

Ответы [ 2 ]

4 голосов
/ 29 октября 2011

Я думаю, что вы ищете MPMediaItemPropertyPlayCount не MPMediaItemPropertyAlbumTrackCount. MPMediaItemPropertyAlbumTrackCount - номер дорожки песни в том виде, в каком она появляется в альбоме.

MPMediaItemPropertyPlayCount к сожалению, нельзя использовать для выполнения запросов с MPMediaQuery, так как это пользовательское свойство.

Лучшим вариантом является сохранение всех показателей воспроизведения в базе данных, такой как Core Data, когда ваше приложение открывается в первый раз, и обновление его путем регистрации уведомлений об изменениях в библиотеке пользователя.

1 голос
/ 17 октября 2013

вы можете использовать NSSortDescriptor для сортировки наиболее проигрываемых песен

MPMediaQuery *everything = [[MPMediaQuery alloc] init]; NSSortDescriptor *sorter = [NSSortDescriptor sortDescriptorWithKey:MPMediaItemPropertyPlayCount ascending:NO]; NSArray *sortedSongsArray = [[everything items] sortedArrayUsingDescriptors:[NSArray arrayWithObject:sorter]];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...