2017-01-10 13 views
0

私はAndroidの音楽プレーヤーアプリを改訂しており、外部ストレージファイルシステムへのアクセスを徐々にクローズする結果、音楽ファイルデータにアクセスするためにMediaStoreContentResolverを使用することを余儀なくされました。"position-in-album"のAndroid MediaStoreフィールド?

私は自分のデータベースにAndroidのMediaStoreコンテンツプロバイダのレコードを埋め込んでいます(以前のバージョンでは、MediaMetadataRetrieverを使ってファイルから直接メタデータを読み込みました)。これまでのところ、MediaStoreは非常に包括的なメタデータフィールドのコレクションを持っています。 1つの重大な例外と思われますが、おそらく私は目が見えません。例外は、アルバム内のトラック/ソングの位置を記録するフィールドです。 このデータは、通常MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBER(これはややクールジーなプロキシですが、ほとんどの場合有効です)を使用して取得できます。

私の質問は、その後、android.provider.MediaStoreメタデータ定義フレームワークであり、内部クラスとインタフェースの迷路にMediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBERと同等のフィールドであり、ありますか?それとも本当に不在ですか?

答えて

1

sqlエディタを使用してメディアデータベースを調べると、トラック番号には唯一の参照がオーディオというビュー内にあります。

CREATE VIEW audio as SELECT * FROM audio_meta LEFT OUTER JOIN artists ON audio_meta.artist_id=artists.artist_id LEFT OUTER JOIN albums ON audio_meta.album_id=albums.album_id; 


    MediaStore.Audio.Media.TRACK; 
1

[OK]を見つけました。それは:

MediaStore.Audio.AudioColumns.TRACK

関連する問題