Как получить аудио файл, упакованный в архив apk для воспроизведения в приложении для Android? - PullRequest
0 голосов
/ 18 февраля 2012

ОК, так что у меня есть Woohoo.mp3 в моей папке "assets" моего проекта также после упаковки .apk я нахожу его в папке активов

аудиоплеера ( "Файл: ///android_assets/Woohoo.mp3");

или

аудиоплеера ( "Файл: //android_assets/Woohoo.mp3");

не работает ... вот мой метод audioPlayer:

public void audioPlayer (String fileName) { // настройка MediaPlayer

    MediaPlayer mp = new MediaPlayer();
    Uri uri = Uri.parse(fileName);
    try {
        AssetManager manager = getBaseContext().getAssets();
        AssetFileDescriptor descriptor = manager.openFd(fileName);
        long start = descriptor.getStartOffset();
        long end = descriptor.getLength();
        mp.setDataSource(descriptor.getFileDescriptor(), start, end);
        //File file = new File(fileName);
        //FileInputStream fis = new FileInputStream(file);
        //mp.setDataSource(getBaseContext(),uri);
        //mp.setDataSource(fis.getFD());
        mp.prepare();
        mp.start();

    } catch(FileNotFoundException e){
        Toast.makeText(getBaseContext(),
                e.getMessage(),
                Toast.LENGTH_SHORT).show();
    } catch (IllegalArgumentException e) {

    } catch (IllegalStateException e) {

    } catch (IOException e) {

    }

    mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

        @Override
        public void onCompletion(MediaPlayer mp) {
            // TODO Auto-generated method stub
            mp.release();
        }

    });
    mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            mp.start();
        }
    });
};

}

Я искал этот сайт и некоторые другие форумы в течение нескольких часов и попробовал несколько методов, и НИ ОДИН из них не сработал для меня .... Интересно, где я ошибся здесь ... спасибо

1 Ответ

0 голосов
/ 18 февраля 2012

Для использования активов вы должны указать только FileName, а не FilePath.

Попробуйте использовать только Woohoo.mp3

...