我正在修改一个Android音乐播放器应用程序,并且由于逐渐关闭外部访问权限而被迫使用MediaStore
和ContentResolver
来访问音乐文件数据存储文件系统。
因此,我使用来自Android的MediaStore内容提供商的记录来填充我自己的应用程序自己的数据库(而在我早期的版本中,使用MediaMetadataRetriever
完全填充以直接从中读取元数据文件)。到目前为止,MediaStore已经非常全面地收集了元数据字段。似乎是一个关键的例外,但也许我是盲目的。例外是用于记录专辑中曲目/歌曲位置的字段。
这些数据通常可以使用 MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBER 获得(它本身就是一个有些愚蠢的代理,但在大多数情况下都有效)。
我的问题是,在内部类和接口的迷宫中,android.provider.MediaStore元数据定义框架在哪里等于 MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBER 的字段?还是真的缺席?
答案 0 :(得分: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;
答案 1 :(得分:1)
好的,我已经找到了。它' S:
MediaStore.Audio.AudioColumns.TRACK