С недавних пор я использую формат файла OPUS в моей библиотеке musi c. Даже если Android изначально поддерживает формат файла OPUS , не так много проигрывателей musi c, в которых есть дорожки musi c, закодированные в этом формате.
Я хотел создать свой собственный простой проигрыватель musi c, в котором перечислены аудиодорожки в кодировке OPUS. Однако я не мог понять, как найти файлы в системе.
Лучший способ - использовать запрос / курсор. Однако файлы OPUS просто игнорируются :
Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
null, null, null, null);
System.out.println(cursor.getCount()); //The size of my music library without .opus files
while (cursor.moveToNext()) {
//.mp3 and .flac files but no .opus files
System.out.println(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME)));
}
Затем я попытался получить доступ к моим файлам musi c вручную, но безуспешно:
File musicDirectory = new File(getExternalFilesDir(Environment.DIRECTORY_MUSIC).toURI());
//This directory seems to be empty, length: 0
System.out.println(musicDirectory.list().length);
И:
File file = new File(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI.getPath());
//Exists: false
System.out.println(file.exists());
Кто-нибудь знает, в чем проблема, или знает какие-нибудь обходные пути? Любая помощь будет оценена.