나는 음악 플레이어 응용 프로그램을 구축을 위해 노력하였고, 나는 playlist.Here에 노래를 추가하기 위해 기능을 추가하고 싶어 코드입니다 null을 반환 로그는 항상 얻을 :삽입 노래는
URI: null
노래는 노래가 추가되지 않는 이유 어떤 생각을 가지고있는 playlist.Does의 사람에 추가되지 않습니다 것을 의미?
나는 음악 플레이어 응용 프로그램을 구축을 위해 노력하였고, 나는 playlist.Here에 노래를 추가하기 위해 기능을 추가하고 싶어 코드입니다 null을 반환 로그는 항상 얻을 :삽입 노래는
URI: null
노래는 노래가 추가되지 않는 이유 어떤 생각을 가지고있는 playlist.Does의 사람에 추가되지 않습니다 것을 의미?
저는이 방법을 사용해 왔으며 저에게 효과적이었습니다. 재생 목록에서
public static String addTracksToPlaylist(final long id, List<MediaData> tracks, final Context context) {
int count = getPlaylistSize(id, context);
ContentValues[] values = new ContentValues[tracks.size()];
for (int i = 0; i < tracks.size(); i++) {
values[i] = new ContentValues();
values[i].put(MediaStore.Audio.Playlists.Members.PLAY_ORDER, i + count + 1);
values[i].put(MediaStore.Audio.Playlists.Members.AUDIO_ID, tracks.get(i).getId());
}
Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", id);
ContentResolver resolver = context.getContentResolver();
int num = resolver.bulkInsert(uri, values);
resolver.notifyChange(Uri.parse("content://media"), null);
return String.format(context.getString(R.string.ADDED_TO_PLAYLIST), num, context.getString(R.string.CURRENT));
}
가져 트랙 :
public static Cursor getTrackListFromPlaylist(Context context, long plid) {
String[] MEDIA_COLUMNS = new String[] {
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ARTIST_ID,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Playlists.Members.AUDIO_ID,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.DATA,
MINUTES + "||':'||" + SECONDS + " as " + FORMATTED_DURATION,
MediaStore.Audio.Media.ALBUM_ID,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media._ID
};
return query(context, MediaStore.Audio.Playlists.Members.getContentUri("external", plid),
MEDIA_COLUMNS, null, null, MediaStore.Audio.Playlists.Members.DEFAULT_SORT_ORDER);
}
는'PLAY_ORDER''기지 + 1'을 싶지 않아? –
null도 반환했습니다 – Khafaga
그리고 어디에서 songDetails'id'를 설정합니까? –