2

次のコードでコンテンツ プロバイダー 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();

メディアをストリーミングする必要がありますが、それが可能かどうか疑問に思います!

4

1 に答える 1

0

の非公式の Google Music APIは、ウェブサイトと同じ呼び出しを使用してこれを行います。現時点では、これはhttps://play.google.com/music/play. songid関連パラメータです。応答スキーマはこちらです。

AccountManagerAndroid を使用している場合は、Google ミュージックsjサービスを使用して認証プロセスを簡素化できます。

別の、おそらくより簡単な方法を次に示します: http://dpogue.ca/gmusic.html。これは私が書いたものではないので、最新かどうかはわかりません。

代わりに、その uri からストリーミングする方法を見つけた場合は、回答を作成してください - 知りたいです!

于 2013-01-05T23:00:51.053 に答える