Воспроизвести аудиофайл из каталога ресурсов

У меня есть следующий код:

AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor());
player.prepare();
player.start();

Проблема заключается в том, что, когда я запускаю этот код, он начинает воспроизводить все аудиофайлы в каталоге ресурсов в алфавитном порядке, а не просто воспроизводить запрошенный мной аудиофайл. Что я делаю неправильно? Есть ли лучший способ воспроизвести аудио файлы из каталога активов?

Дополнительный вопрос: есть ли разница между хранением аудиофайлов в каталоге assets и хранением их в каталоге res / raw? Помимо того факта, что они не получают идентификаторы, если они находятся в каталоге активов. Если я переместу аудиофайлы в папку res / raw, у меня возникнет проблема с повторным использованиемMediaPlayers потому что нет параметра id дляsetDataSource(), Я не могу найти хорошее руководство для решения такого рода проблем.

Ответы на вопрос(4)

Ваш ответ на вопрос