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_mapに修正audio_playlists_map

于 2012-05-22T10:42:00.720 に答える