【发布时间】:2010-07-06 01:05:16
【问题描述】:
有人知道如何在代码中向 Android 添加播放列表吗?
我知道我必须将其插入内容解析器,但我必须将歌曲 ID 放入还是必须将所有歌曲的数据放入?
我一直在寻找示例代码,但还没有找到。
编辑: 在这里找到答案是我的做法:
public static void addToPlaylist(ContentResolver resolver, int audioId) {
String[] cols = new String[] {
"count(*)"
};
Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", YOUR_PLAYLIST_ID);
Cursor cur = resolver.query(uri, cols, null, null, null);
cur.moveToFirst();
final int base = cur.getInt(0);
cur.close();
ContentValues values = new ContentValues();
values.put(MediaStore.Audio.Playlists.Members.PLAY_ORDER, Integer.valueOf(base + audioId));
values.put(MediaStore.Audio.Playlists.Members.AUDIO_ID, audioId);
resolver.insert(uri, values);
}
public static void removeFromPlaylist(ContentResolver resolver, int audioId) {
Log.v("made it to add",""+audioId);
String[] cols = new String[] {
"count(*)"
};
Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", YOUR_PLAYLIST_ID);
Cursor cur = resolver.query(uri, cols, null, null, null);
cur.moveToFirst();
final int base = cur.getInt(0);
cur.close();
ContentValues values = new ContentValues();
resolver.delete(uri, MediaStore.Audio.Playlists.Members.AUDIO_ID +" = "+audioId, null);
}
【问题讨论】:
-
我正在尝试理解代码...在 addToPlaylist 中,您实际上是否将 PLAY_ORDER 属性设置为 + ?这是否意味着 PLAY_ORDER 不是曲目索引,或者 audioId 不是设备中歌曲的唯一标识符?
-
另外,playlistId 应该是什么?此代码似乎只将项目添加到播放列表 - 有没有办法真正创建播放列表?
-
如果您自己解决了问题,请移动创建答案并将其标记为已接受。
-
您应该将您的答案作为答案重新发布。否则您的问题会显示在未回答中。
-
如何获取 YOUR_PLAYLIST_ID
标签: android android-contentresolver