В настоящее время я делаю простой музыкальный проигрыватель, и мне удалось получить список музыки из СМИ с помощью фрагмента примера сценария ниже. Однако проблема в том, что я понятия не имею, как воспроизводить музыку из ContentResolver. Я прочитал http://developer.android.com/reference/android/provider/MediaStore.Audio.html Но мне трудно понять. Есть хороший образец или учебник? Все, чего я хочу добиться, - это проигрывать музыку из ContentResolver в android.
public Track(Cursor cursor)
{
id = cursor.getLong( cursor.getColumnIndex( MediaStore.Audio.Media._ID ));
path = cursor.getString( cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
title = cursor.getString( cursor.getColumnIndex( MediaStore.Audio.Media.TITLE ));
album = cursor.getString( cursor.getColumnIndex( MediaStore.Audio.Media.ALBUM ));
artist = cursor.getString( cursor.getColumnIndex( MediaStore.Audio.Media.ARTIST ));
albumId = cursor.getLong( cursor.getColumnIndex( MediaStore.Audio.Media.ALBUM_ID ));
artistId = cursor.getLong( cursor.getColumnIndex( MediaStore.Audio.Media.ARTIST_ID ));
duration = cursor.getLong( cursor.getColumnIndex( MediaStore.Audio.Media.DURATION ));
trackNo = cursor.getInt( cursor.getColumnIndex( MediaStore.Audio.Media.TRACK ));
uri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, id);
}
public static List getItems(Context activity) {
List tracks = new ArrayList();
ContentResolver resolver = activity.getContentResolver();
Cursor cursor = resolver.query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
Track.COLUMNS,
null,
null,
null
);
while( cursor.moveToNext() ){
if( cursor.getLong(cursor.getColumnIndex( MediaStore.Audio.Media.DURATION)) < 3000 ){continue;}
tracks.add(new Track(cursor));
}
cursor.close();
return tracks;
}