0

我正在修改一个 Android 音乐播放器应用程序,由于逐渐关闭对外部存储文件系统的访问,我被迫接受使用MediaStore和访问音乐文件数据。ContentResolver

因此,我正在使用来自 Android 的 MediaStore 内容提供程序的记录填充我的应用程序自己的数据库(而在我的早期版本中,它完全是通过使用MediaMetadataRetriever直接从文件中读取元数据来填充的)。到目前为止一切顺利,MediaStore 拥有相当全面的元数据字段集合。似乎有一个严重的例外,但也许我是盲目的。例外是记录专辑中曲目/歌曲位置的字段。这些数据通常可以使用MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBER获得 (它本身是一个有点笨拙的代理,但在大多数情况下都有效)。

那么我的问题是,在 android.provider.MediaStore 元数据定义框架的内部类和接口的迷宫中,与MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBER等效的字段在哪里?还是真的没有?

4

2 回答 2

1

使用 sql 编辑器查看媒体数据库,我能找到的唯一参考曲目编号是在名为 audio 的视图中。

 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;
于 2017-01-10T16:05:29.930 回答
1

好的,我找到了。它的:

MediaStore.Audio.AudioColumns.TRACK

于 2017-01-10T16:59:01.940 回答