ios获取媒体库中项目的播放次数

我目前正在尝试对用户音乐collections进行分类,并且能够获得用户最常播放的歌曲/艺术​​家将极大地改善应用中的用户体验。 是否有可能获得比赛的数量? 我该怎么做呢

MPMediaItem有这样的方法:

- (id) valueForProperty: (NSString *) property 

此方法返回您想要相应值的媒体属性键。 其中一个可能的值是MPMediaItemPropertyPlayCount:

用户播放媒体项目的次数。 Value是表示NSUInteger数据类型的NSNumber对象。

您可以在此处和此处查看文档。

如果您想查找用户播放次数最多的曲目,您可以:

  1. 将所有媒体项(即[[MPMediaQuery songsQuery] items] )及其属性存储在数据库(即Core Data)中,使用NSFetchRequest获取它们并使用NSSortDescriptor对结果进行排序 。

  2. …或使用[[MPMediaQuery songsQuery] items]并在MPMediaItemPropertyPlayCount属性上对结果进行排序 。

选项(1)可能是最好的,特别是如果你想要对音乐集合进行分类(我猜(2)也可能在性能方面更差)。

在SO上也有类似的答案来帮助回答你的问题。

有关MPMediaQueries的更多信息, 请查看Apple文档 。

如果您使用Core Data,他们有很多方法供您使用。 看看这个: http : //developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/cdProgrammingGuide.html