Go Schritt für Schritt
Schritt 1 Geben Sie die Namen von Alben auf dem Mobiltelefon geladen
So fordern Cursor für Informationen über das Album
String[] columns = { android.provider.MediaStore.Audio.Albums._ID,
android.provider.MediaStore.Audio.Albums.ALBUM };
cursor = managedQuery(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
columns, null, null, null);
Schritt 2 Nachdem Sie alle Alben finden Namen. Sie können den gewünschten Albumnamen aufschreiben und Songs davon abfragen
So fordern Cursor Song-Informationen für bestimmtes Album
String[] columns = { MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.MIME_TYPE, };
String where = android.provider.MediaStore.Audio.Media.ALBUM
+ "=?";
String whereVal[] = { Album name from which you want songs };
String orderBy = android.provider.MediaStore.Audio.Media.TITLE;
cursor = managedQuery(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, columns,
where, whereVal, orderBy);
nun diesen Cursor zurückkehren enthält.
Für Ihre Referenz unten ist der Quellcode zum Abrufen des Albumnamens und aller darin enthaltenen Songs.
package org.vipul;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
public class HelloActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String[] columns = { android.provider.MediaStore.Audio.Albums._ID,
android.provider.MediaStore.Audio.Albums.ALBUM };
Cursor cursor = managedQuery(
MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null,
null, null);
if (cursor.moveToFirst()) {
do {
Log.v("Vipul",
cursor.getString(cursor
.getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM)));
} while (cursor.moveToNext());
}
// I want to list down song in album Rolling Papers (Deluxe Version)
String[] column = { MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.MIME_TYPE, };
String where = android.provider.MediaStore.Audio.Media.ALBUM + "=?";
String whereVal[] = { "Rolling Papers (Deluxe Version)" };
String orderBy = android.provider.MediaStore.Audio.Media.TITLE;
cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
column, where, whereVal, orderBy);
if (cursor.moveToFirst()) {
do {
Log.v("Vipul",
cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME)));
} while (cursor.moveToNext());
}
}
}
Vielen Dank für diese klare Antwort. – Jecimi
Sie sind herzlich willkommen :) –
Hallo Vipul, das war etwas, was ich gesucht habe und konnte nirgendwo finden, nach einer Menge Suche endlich ein ordentliches und leicht zu verstehen Code, ich lerne derzeit Android und möchte wissen wir können extrahieren Sie die Albuminfo wie Albumbild und zeigen Sie dasselbe mit einem Listenansicht. Wie es in allen Media Playern ist, danke für solch einen ausgezeichneten Code – 1234567