У меня есть следующий код:
AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor());
player.prepare();
player.start();
Проблема в том, что когда я запускаю этот код, он начинает воспроизводить все аудиофайлы в каталоге ресурсов в алфавитном порядке вместо простого воспроизведения запрошенного мной аудиофайла. Что я делаю неправильно? Есть ли лучший способ воспроизведения аудиофайлов из каталога ресурсов?
Дополнительный вопрос:
Есть ли разница между хранением аудио файлов в каталоге assets и хранением их в каталоге res / raw? Помимо того факта, что они не получают идентификаторы, если они находятся в каталоге активов. Если я перенесу аудиофайлы в папку res / raw, у меня возникнет проблема с повторным использованием MediaPlayer
s, поскольку для setDataSource()
отсутствует параметр id. Я не могу найти хорошее руководство для решения этой проблемы.