#android
#Android
Вопрос:
Ниже приведен мой код для получения песен с устройства. но я не могу воспроизвести ни одно содержимое.
try {
Cursor cursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
if (cursor == null) {
// Query failed...
} else if (!cursor.moveToFirst()) {
// Nothing to query. There is no music on the device.
}else {
// add each song to mItems.
//these is the part that gets each item from the cursor and adds them to the list.
do {
int artistColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST);
// add each song to mItems.
int titleColumn = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
// add each song to mItems.
int albumColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM);
// add each song to mItems.
int albumArt = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID);
// add each song to mItems.
int durationColumn = cursor.getColumnIndex(MediaStore.Audio.Media.DURATION);
// add each song to mItems.
int idColumn = cursor.getColumnIndex(MediaStore.Audio.Media._ID);
// add each song to mItems.
int filePathIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
int art = cursor.getColumnIndex(MediaStore.Audio.AlbumColumns.ALBUM_ART);
// these section adds the media info(MediaInfo.class) to the mediaList.
MediaFileInfo audio = new MediaFileInfo();
audio.setFileName(cursor.getString(titleColumn));
audio.setFilePath(cursor.getString(filePathIndex));
audio.setImgId(cursor.getInt(albumArt));
audio.setFileType(type);
audio.setImgId(cursor.getInt(art));
//am adding all the items to the list(medaiList).
mediaList.add(audio);
} while (cursor.moveToNext());
}
} catch (Exception e) {
e.printStackTrace();
}
Комментарии:
1. вам нужно прочитать
MediaPlayer
документацию API2. улучшенное форматирование
Ответ №1:
Я думаю, вам нужно установить источник данных для вашего пути курсора, что означает путь к вашей песне.И если вы используете контент-провайдера, запрос URI, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
.
Затем вам нужно установить возвращаемый курсор в курсоре пути к песне. Вот так,
String path = cursor.getString(getColumnIndex(Audio.Media.DATA));
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(path);
mp.prepare();
mp.start();
Это поможет вам…
Комментарии:
1. если это работает для вас, тогда примите это как ответ… Спасибо