次のコードでコンテンツ プロバイダー URI content://com.google.android.music.MusicContent/audioを使用して、(デバイス上およびオフラインで) エントリのリストを取得します。
String[] proj = { MediaStore.Audio.AudioColumns.TITLE, MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media._ID };
Uri gMusicUri = Uri.parse("content://com.google.android.music.MusicContent/audio");
Ln.d("onCreate(): XX gMusicUri = %s", gMusicUri);
Cursor cursor = getApplicationContext().getContentResolver().query(gMusicUri, proj, null, null, null);
if (cursor == null) {
// query failed, handle error.
Ln.w("onCreate(): XX cursor is null, query failed");
} else if (!cursor.moveToFirst()) {
// no media on the device
Ln.w("onCreate(): XX cursor cannot move to 1st element, no media on device");
} else {
int idColumn = cursor.getColumnIndex(MediaStore.Audio.Media._ID);
int titleColumn = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
int artistColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST);
do {
long id = cursor.getLong(idColumn);
String title = cursor.getString(titleColumn);
String artist = cursor.getString(artistColumn);
// ...process entry...
Ln.i("onCreate(): XX id = %d, title = %s, artist = %s", id, title, artist);
} while (cursor.moveToNext());
}
cursor.close();
メディアをストリーミングする必要がありますが、それが可能かどうか疑問に思います!