get genre_id and audio_id from audio_genres_map from mediastore

落花浮王杯 提交于 2019-12-12 03:28:50

问题


I want to retrieve whole audio_genres_map table from mediastore in one query. I have all the audio info and genre info but the missing piece is the mapping. I am able to do it in multiple queries. I want to achieve it one query


回答1:


managed to solve this using following query

String[] genresProjection = {
            Audio.Genres.Members.AUDIO_ID,
            Audio.Genres.Members.GENRE_ID
    };
context.getContentResolver().query(Uri.parse("content://media/external/audio/genres/all/members"), genresProjection, null, null, null);



回答2:


Or to retrieve all genres using MediaStore.Audio

    public Cursor getGenrecursor(Context context) {
    ContentResolver cr = context.getContentResolver();
    Uri uri = MediaStore.Audio.Genres.getContentUri("external");
    String genre = MediaStore.Audio.Genres.NAME;
    final String[] columns = { "_id", genre };
    return  cr.query(uri, columns, null, null, null);
}



回答3:


and to expand your question, using the genre_id to bring back further details

        public Cursor getgenre_TrackCursor(Context context, long genreID) {
    final String track_id = MediaStore.Audio.Genres.Members._ID;
    final String track_no = MediaStore.Audio.Genres.Members.TRACK;
    final String track_name = MediaStore.Audio.Genres.Members.TITLE;
    final String artist = MediaStore.Audio.Genres.Members.ARTIST;
    final String duration = MediaStore.Audio.Genres.Members.DURATION;
    final String album = MediaStore.Audio.Genres.Members.ALBUM;
    final String composer = MediaStore.Audio.Genres.Members.COMPOSER;
    final String year = MediaStore.Audio.Genres.Members.YEAR;
    final String path = MediaStore.Audio.Genres.Members.DATA;
    final ContentResolver resolve = context.getContentResolver();
    Uri uri = MediaStore.Audio.Genres.Members.getContentUri("external",
            genreID);
    final String[] columns = { track_id, track_no, artist, track_name,
            album, duration, year };
    return resolve.query(uri, columns, null, null, null);
}


来源:https://stackoverflow.com/questions/36653521/get-genre-id-and-audio-id-from-audio-genres-map-from-mediastore

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!