将曲目添加到播放列表



我正在我的音频播放器中处理播放列表。我返回了一个代码以将歌曲添加到播放列表。代码工作正常,但我有一个小问题。问题是,如果我将一首歌曲添加到播放列表,则会添加同一首歌曲的两个副本。就像,如果我将歌曲 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));
}

停止通过Log.i()再次调用resolver.insert()

最新更新