Как получить аудиофайлы, хранящиеся как во внутреннем, так и во внешнем хранилище, с помощью MediaStore?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить аудиофайлы, хранящиеся как во внутреннем, так и во внешнем хранилище, с помощью MediaStore?

Сообщение Anonymous »

Я пытаюсь составить список всех песен во внутренней и внешней памяти:

Код: Выделить всё

ContentResolver musicResolver = getContentResolver();
Uri musicUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor musicCursor = musicResolver.query(musicUri, null, null, null, null);
if(musicCursor!=null && musicCursor.moveToFirst()){
//get columns
int titleColumn = musicCursor.getColumnIndex
(android.provider.MediaStore.Audio.Media.TITLE);
int idColumn = musicCursor.getColumnIndex
(android.provider.MediaStore.Audio.Media._ID);
int artistColumn = musicCursor.getColumnIndex
(android.provider.MediaStore.Audio.Media.ARTIST);

int durationColumn=musicCursor.getColumnIndex(android.provider.MediaStore.Audio.Media.DURATION);

do {
try {
long thisId = musicCursor.getLong(idColumn);
String thisTitle = musicCursor.getString(titleColumn);
String thisArtist = musicCursor.getString(artistColumn);
String duration = musicCursor.getString(durationColumn);
if (!thisArtist.equalsIgnoreCase("")) {
//save track
}

} catch (Exception e) {

}
}
while (musicCursor.moveToNext());
Код успешно извлекает песни из внешнего хранилища, но не из внутренней памяти. Это проблема на таких устройствах, как Samsung Galaxy S8, где нет внешнего хранилища. Я также попробовал курсор с URI:

Код: Выделить всё

musicUri = MediaStore.Audio.Media.INTERNAL_CONTENT_URI;
При этом извлекаются мелодии звонка устройства, но это не то, что мне нужно.

Подробнее здесь: https://stackoverflow.com/questions/451 ... using-medi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»