2012-07-01 3 views
2

Я хочу, чтобы мое приложение просматривало музыкальные файлы только в тех папках, которые я указал в настройках. Так что другие музыкальные файлы, такие как аудиокниги, не включаются.Android: сканирование музыкальных файлов из определенных каталогов?

В настоящее время я написал этот код, который сканирует все музыкальные файлы:

private String[] getTrackList() { 
     String[] result = null; 
     String[] projection = { MediaStore.Audio.Media._ID, 
       MediaStore.Audio.Media.DISPLAY_NAME, 
       MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.TITLE }; 
     String selection = MediaStore.Audio.Media.IS_MUSIC + "!=" + 0; 
     cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
       projection, selection, null, MediaStore.Audio.Media.TITLE 
         + " ASC"); 
     result = new String[cursor.getCount()]; 
     int position = 0; 
     for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { 
      columnIndex = cursor 
        .getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE); 
      result[position] = cursor.getString(columnIndex); 
      position++; 
     } 
     return result; 
    } 

ответ

1

ЗАКАНЧИВАТЬ ответ на подобный вопрос (хотя для изображений, та же самая идея должна применяться к аудио):

Get filename and path from URI from mediastore

Похоже DATA сохраняет путь к файлу. Я думаю, если вы используете столбец MediaStore.Audio.Media.DATA как часть вашего предложения where, вы можете вернуть только аудиофайлы из нужного каталога.

Смежные вопросы