我在寫一個Android應用程序,想實現訪問音樂播放列表的功能。
在程序中,用戶應該可以浏覽音樂播放列表,選擇出他喜歡的歌曲。
現在想實現的是當用戶選中播放列表中的歌曲後,系統怎麼連接上這個歌曲,如何把這首歌添加到默認音樂應用程序中,並且作為背景播放。
使用ContentProvider 或mediastore也不知道怎麼實現?不知道如何在其他應用程序中訪問數據。
public MusicFile[] readAllMusic(Context context){
Cursor cursor = context.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[]{
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.YEAR,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.DATA }, null, null,
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
if(null==cursor){
return null;
}
MusicFile[] array=new MusicFile[cursor.getCount()];
int i=0;
while (cursor.moveToNext()) {
//MusicFile has tile,path....set specified value as follows
//title=cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
//path=cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
array[i]=new MusicFile(cursor);
i++;
}
return array;
}
public void play(MusicFile mf,Context context){
File file = new File(mf.absolutePath);
final Uri data = Uri.fromFile(file);
final Intent intent = new Intent(null, data);
intent.setDataAndType(data, "audio/*");
context.startActivity(intent);
}