Android: Воспроизведение файлов MP3 с помощью AudioTrack с использованием ffmpeg

Я интегрировал библиотеку ffmpeg в свой проект и также могу получать информацию о медиафайлах. Но теперь мне нужно воспроизводить mp3-файлы, используя класс AudioTrack в Android, используя ffmpeg lib.

Для этого мне нужно передать байтовый буфер в AudioTrack, но я не знаю, как получить байтовый буфер из ffmpeg и использовать его с AudioTrack. Я также хочу воспроизвести файл мгновенно без задержки.

Вот мой код звуковой дорожки в java:

AudioTrack track;
bufferSize = AudioTrack.getMinBufferSize(44100,AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT)
track = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSize, mode);

//Play audio clip
track.play();

while(stream_is_over){
//Copy the decoded raw buffer from native code to "buffer" .....
............
track.write(buffer, 0, readBytes);
}

Может ли кто-нибудь дать мне рабочий код для воспроизведения файлов mp3 со звуковой дорожкой. Я много искал, но не нашел правильного ответа.

9
задан Vipul Purohit 27 June 2012 в 06:48
поделиться