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