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