android播放列表,Android创建播放列表

使用此代码本身是自我解释。这将增加首歌给定id = songID与名playlistName

到播放列表播放列表如果已经存在,将添加到现有的或将创造新的,然后添加歌曲到它

/**

* This function add song with id songID to playlist playlistName

* if playlist does exist it will add to exiixting one or it will create new

*

* @param playlistName

* @param songID

*/

private void addToPlaylist(String playlistName, int songID) {

//Vibrate device

Utils.vibrate(getApplicationContext());

//get all playlists

Cursor playListCursor = AppController.getGlobalContentResolvere().query(

MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, new String[]{"*"}, null, null,

null);

long playlistId = 0;

playListCursor.moveToFirst();

do {

//check if selected playlsit already exist

if (playListCursor.getString(playListCursor

.getColumnIndex(MediaStore.Audio.Playlists.NAME)).

equalsIgnoreCase(playlistName)) {

playlistId = playListCursor.getLong(playListCursor

.getColumnIndex(MediaStore.Audio.Playlists._ID));

break;

}

} while (playListCursor.moveToNext());

//Playlist doesnt exist creating new with given name

if (playlistId == 0) {

Log.d(TAG, "CREATING PLAYLIST: " + playlistName);

ContentValues playlisrContentValue = new ContentValues();

//Add name

playlisrContentValue.put(MediaStore.Audio.Playlists.NAME, playlistName);

//update modified value

playlisrContentValue.put(MediaStore.Audio.Playlists.DATE_MODIFIED,

System.currentTimeMillis());

Uri playlistURl = AppController.getGlobalContentResolvere().insert(

MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, playlisrContentValue);

Log.d(TAG, "Added PlayLIst: " + playlistURl);

} else {

//Playlist alreay exist add to playlist

String[] cols = new String[]{

"count(*)"

};

Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", playlistId);

Cursor favListCursor = AppController.getGlobalContentResolvere().query(uri, cols, null, null, null);

favListCursor.moveToFirst();

final int base = favListCursor.getInt(0);

//playlist updated delete older playlist art so that we can create new

Toast.makeText(AudioPlayerActivity.this, "deleted old file" + new File(AppContants.PLAY_LIST_DIR + playlistId + ".png").delete(), Toast.LENGTH_SHORT).show();

favListCursor.close();

//add song to last

ContentValues values = new ContentValues();

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

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

AppController.getGlobalContentResolvere().insert(uri, values);

//Debug purpose

Toast.makeText(AudioPlayerActivity.this, "Added to Favourite list " +

CenterRepository.getInstance().getAudioCollection().getSongAt(AppConfig.SONG_NUMBER).getTitle()

, Toast.LENGTH_SHORT).show();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值