将曲目添加到播放列表

时间:2018-01-02 10:27:32

标签: android playlist mediastore android-music-player

我正在处理音频播放器中的播放列表。我已经返回一个代码来将歌曲添加到播放列表。代码工作正常,但我有一个小问题。问题是如果我将一首歌曲添加到播放列表,则会添加两首相同歌曲的副本。就像,如果我将歌曲A添加到播放列表然后打开我添加了歌曲A的播放列表,我可以在那里看到两个歌曲A的副本。

代码:

 public static void AddSongToPlaylist(long songID, long pID, Context context ){



    Uri pUri = MediaStore.Audio.Playlists.Members.getContentUri("external", pID);

    ContentResolver resolver = context.getContentResolver();
    ContentValues values = new ContentValues();

    String[] cols = new String[] {
            "count(*)"
    };
    Cursor cur = resolver.query(pUri, cols, null, null, null);
    cur.moveToFirst();
    final int base = cur.getInt(0)+1;
    cur.close();

    values.put(MediaStore.Audio.Playlists.Members.PLAY_ORDER,base);
    values.put(MediaStore.Audio.Playlists.Members.AUDIO_ID, songID);

    resolver.insert(pUri,values);
    resolver.notifyChange(Uri.parse("content://media"), null);
    Log.i("URI:",resolver.insert(pUri, values)+"");
    Toast.makeText(context, "Song Added", Toast.LENGTH_SHORT).show();
    Log.i("Song ID:", String.valueOf(songID));

}

1 个答案:

答案 0 :(得分:-1)

停止通过resolver.insert()再次致电Log.i()