Android - 从光标获取专辑艺术家

2023-11-29

我目前正在创建一个音乐播放器,并且正在使用光标检索设备上的音乐

mCursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
            requestedColumns, null, null, null);

where

private String[] requestedColumns = 
{
    MediaStore.Audio.Media.TITLE,
    MediaStore.Audio.Media._ID,
    MediaStore.Audio.Media.DATA,
    MediaStore.Audio.Media.ALBUM,
    MediaStore.Audio.Media.ALBUM_ID,
    MediaStore.Audio.Media.ARTIST,
    MediaStore.Audio.Media.ARTIST_ID,
    MediaStore.Audio.Media.YEAR,
    MediaStore.Audio.Media.DURATION,        
};

现在一切正常,我成功地在我的设备/SD 卡上检索音乐。我的问题是:有什么办法可以得到专辑艺术家对于一首特定的歌曲?现在,我不仅仅指某首特定歌曲的艺术家,而是指歌曲所属的整个专辑背后的主要艺术家。似乎没有某种MediaStore.Audio.Media.ALBUM_ARTIST.

附注:使用之间有什么区别(如果有)MediaStore.Audio.Media.ALBUM and MediaStore.Audio.ALBUMS?


我想你正在寻找的是MediaStore.Audio.Albums.ARTIST,您可以将其视为两阶段过程的第二部分。

Cursor cursor = getActivity().managedQuery(
    MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, 
    new String[] {MediaStore.Audio.Albums._ID, MediaStore.Audio.Albums.ARTIST}, 
    MediaStore.Audio.Albums._ID+ "=?", 
    new String[] {albumId}, 
    null);

Where albumId是歌曲的专辑 ID,即您在之前的查询中获得的内容:MediaStore.Audio.Media.ALBUM_ID

考虑到MediaStore.Audio.ALBUMS作为所有专辑的元数据。MediaStore.Audio.Media.ALBUM指该音频文件所在的专辑。Media始终是有关每个单独文件的元数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - 从光标获取专辑艺术家 的相关文章

随机推荐