7

私は現在、ユーザーの音楽コレクションを分類しようとしています。ユーザーが最も再生した曲/アーティストを取得する機能により、アプリのユーザー エクスペリエンスが大幅に向上します。再生回数を取得することはできますか? そして、どうすればそれを行うことができますか

4

3 に答える 3

8

MPMediaItem には次のメソッドがあります。

- (id) valueForProperty: (NSString *) property

このメソッドは、対応する値が必要なメディア プロパティ キーを返します。可能な値の 1 つは MPMediaItemPropertyPlayCount です。

ユーザーがメディア アイテムを再生した回数。値は、NSUInteger データ型を表す NSNumber オブジェクトです。

ドキュメントはこちらこちらで確認できます。

于 2012-07-02T13:01:04.087 に答える
3

ユーザーが最も再生したトラックを見つけたい場合は、次のことができます。

  1. すべてのメディア アイテム (つまり[[MPMediaQuery songsQuery] items]) とそのプロパティをデータベース (つまり Core Data) に格納し、NSFetchRequest でそれらを取得し、NSSortDescriptorで結果を並べ替えます

  2. ...またはプロパティの結果を使用[[MPMediaQuery songsQuery] items]して並べ替えます。MPMediaItemPropertyPlayCount

特に音楽コレクションを分類しようとしている場合は、オプション (1) がおそらく最適です ((2) はパフォーマンスの点でも悪いと思います)。

SOにも同様の回答があり、質問への回答に役立ちます。

MPMediaQueries の詳細については、Apple のドキュメントを参照してください。

于 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 に答える