Как мы говорили в комментариях, я покажу, как приложение Android Music находит все музыкальные файлы.
Приложение Android Music просто запрашивает MediaProvider, чтобы получить все музыкальные материалы на внешнем хранилище, то есть на SD-карте.
И базы данных заполнены MediaScannerService. MediaScannerService вызывает MediaScanner.scanDirectories для поиска всех файлов в этих каталогах. Извлечь метаданные, если это аудиофайл и поместить его в базу данных (MediaProvider).
if (MediaProvider.INTERNAL_VOLUME.equals(volume)) {
// scan internal media storage
directories = new String[] {
Environment.getRootDirectory() + "/media",
};
}else if (MediaProvider.EXTERNAL_VOLUME.equals(volume)) {
// scan external storage volumes
directories = mExternalStoragePaths;
}
if (directories != null) {
scan(directories, volume);
}
Так что мой ответ является MediaProvider уже содержит музыкальные файлы на внешнем запоминающем устройстве, так что вы можете напрямую запрашивать у поставщика, чтобы получить все музыкальные файлы.
Проверьте, пожалуйста, MediaStore.
Вы можете использовать следующий код, чтобы получить все музыкальные файлы.
//Some audio may be explicitly marked as not being music
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
String[] projection = {
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.DURATION
};
cursor = this.managedQuery(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
projection,
selection,
null,
null);
private List<String> songs = new ArrayList<String>();
while(cursor.moveToNext()){
songs.add(cursor.getString(0) + "||" + cursor.getString(1) + "||" + cursor.getString(2) + "||" + cursor.getString(3) + "||" + cursor.getString(4) + "||" + cursor.getString(5));
}
Столбец MediaStore.Audio.Media.DATA
содержит полный путь к этому музыкальному файлу.
Уместно сообщить пользователю, где находятся эти музыкальные файлы. – StarPinkER
Я думаю, что большинство пользователей не заботятся о том, где их устройства сохраняют музыкальные файлы. – Allen
Но, очевидно, что музыка загружается qqmusic, которая является популярным приложением в Китае. И этот каталог создается этим приложением. – StarPinkER