У мене є такий код:
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()
. Я не можу знайти гарного керівництва для вирішення подібних проблем.