0

我想使用 CursorLoader 获取不在给定播放列表中的所有音乐。是否可以?

我们可以使用以下代码获取列表中的所有音乐

loader = new CursorLoader(context, MediaStore.Audio.Playlists.Members
                .getContentUri("external", playlistID), proj,
                MediaStore.Audio.Media.IS_MUSIC + " != 0 ", null, ORDER_BY);

但我需要做相反的事情,即获取所有不在给定播放列表中的音乐。我怎样才能做到这一点?

4

1 回答 1

1

我不能帮你解决你的问题LowAcceptRateException——这是一个严重的故障,从长远来看可能会干扰问题的回答——但是如果你不介意做一些难以维护的事情并滥用MediaProvider你可以做的内部功能像这样获取不在(特定)播放列表中的歌曲。

loader = new CursorLoader(context, Audio.Media.EXTERNAL_CONTENT_URI, proj,
            Media._ID + " NOT IN (SELECT audio_id FROM audio_playlists_map WHERE playlist_id=?) AND " + 
            MediaStore.Audio.Media.IS_MUSIC + " != 0 ", 
            new String[]{String.valueOf(playlistID}, ORDER_BY);

编辑:更正audio_playlist_mapaudio_playlists_map

于 2012-05-22T10:42:00.720 回答