7

我目前正在尝试对用户的音乐收藏进行分类,并且让用户播放最多的歌曲/艺术​​家的能力将极大地改善应用程序中的用户体验。是否有可能获得播放次数?我将如何去做

4

3 回答 3

8

MPMediaItem 有方法:

- (id) valueForProperty: (NSString *) property

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

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

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

于 2012-07-02T13:01:04.087 回答
3

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

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

  2. ...或使用[[MPMediaQuery songsQuery] items]排序MPMediaItemPropertyPlayCount属性上的结果。

选项 (1) 可能是最好的,特别是如果您希望对音乐收藏进行分类(我猜 (2) 在性能方面也可能更差)。

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

查看 Apple 文档以获取有关 MPMediaQueries 的更多信息。

于 2012-07-03T14:44:15.400 回答
1

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

于 2012-07-04T23:49:25.887 回答