2

トラックとアルバム (追加データを含む) の独自のデータベースを同期しようとしています。これまでのところ、MediaStore からアルバムとトラックを正常にプルしました。

私が適切に管理できないのは、トラックのジャンルを取得することです。誰かがコードを投稿できますか? トラックごとにデータベースにクエリを実行することは避けたいので、可能であれば関連付け (Genre.id <-> Audio.id) をロードするコードがあれば便利です。

私が苦労しているのは、コンテンツ プロバイダーを使用して Genres.Members 情報を取得することです。

4

2 に答える 2

2

ringdroid の優れた作成者がどのようにこれを行っているかを見てみたいと思います。http://ringdroid.googlecode.com/svn-history/r37/trunk/src/com/ringdroid/SongMetadataReader.java

基本的に、ジャンル名と ID を取得することから始め、それらを使用して、それらのジャンルに一致するデータベース内の曲のみを取得する content_uri を簡単に作成できます。しかし、私があなただったら、id3 タグにジャンル名が含まれていないファイルについて、「不明」または「空の」ジャンルがあるかどうかを確認します。

于 2011-02-09T01:06:18.060 に答える
0

だから私がやったことは、ローダーと次のクエリを使用してSD上のすべてのオーディオファイルを取得することです:

        loader = new CursorLoader(mActivity, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
                new String[] {Audio.Media._ID, Audio.Media.DATA}, 
                null, null, null);

次に、.mp3 で終わるかどうかを確認し、jaudiotagger を使用てジャンルの ide3 タグを読み取ります。

于 2012-04-10T09:43:16.067 に答える