Чтение аудиофайлов из ресурсов на Android - PullRequest
0 голосов
/ 11 декабря 2011

Я пытаюсь воспроизвести аудиофайлы, хранящиеся в каталоге assets, но перед тем, как даже прочитать файл, я получаю сообщение об ошибке «Произошла ошибка java.io.FileNotFoundException: track.mp3».Вот как я это читаю:

AssetFileDescriptor afd = getAssets().openFd("track.mp3");

Я прочитал много описаний в Интернете, но безуспешно.

Ответы [ 3 ]

0 голосов
/ 09 января 2012

Щелкните правой кнопкой мыши по файлу «track.mp3», с помощью команды «Refactor»> «Move» переместите файл в другой каталог (например, «res»). С помощью этой же команды верните ее в каталог «assets». Для меня это работает.

0 голосов
/ 12 февраля 2018

Руководства по Android предлагают для аудио использовать папку res/raw. Поэтому убедитесь, что все аудио есть, и когда вы читаете, вы можете использовать этот метод:

void playAudio(Context mContext, String sound){
    new AudioPlayer().play(mContext, mContext.getResources().getIdentifier(
            sound,"raw", mContext.getPackageName()));
}

А если вам нужен какой-нибудь линейный аудиоплеер, тогда взгляните на MediaPlayer

0 голосов
/ 12 декабря 2011

Я думаю, что этот код должен работать для вас:

AssetFileDescriptor afd = getAssets().openFd("track.mp3");

MediaPlayer player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
player.prepare();
player.start();

В противном случае проверьте, находится ли файл в нужной папке, а имя - «track.mp3».

...