Воспроизведение аудио с аудио трека в Android - PullRequest
2 голосов
/ 15 февраля 2010

Я хочу воспроизводить музыку по онлайн-ссылке на mp3.

Я читаю музыкальные данные в поток и пытаюсь воспроизвести их с помощью звуковой дорожки.

Но это только шум. Я не слышу музыку

Это мой код.

int  intSize = android.media.AudioTrack.getMinBufferSize(8000,
                    AudioFormat.CHANNEL_CONFIGURATION_MONO,
                    AudioFormat.ENCODING_PCM_16BIT);

AudioTrack oTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 8000,
                    AudioFormat.CHANNEL_CONFIGURATION_MONO,
                    AudioFormat.ENCODING_PCM_16BIT, intSize,
                    AudioTrack.MODE_STREAM);

oTrack.play();
oTrack.write(buffer, 0, buffer.length);

Здесь буфер - это аудиоданные, которые я читаю.

Те же буферы, которые я могу воспроизводить в MediaPlayer, но я не могу воспроизвести в аудиотреке.

Что я мог делать не так?

1 Ответ

3 голосов
/ 15 февраля 2010

Очевидно, что AudioTrack воспроизводит только звук PCM, поэтому либо вам придется самостоятельно найти способ декодирования MP3 в PCM, либо вместо этого использовать MediaPlayer, который может выполнить декодирование для вас (в соответствии с http://developer.android.com/guide/topics/media/index.html).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...