2016-03-20 2 views
1

Я пытаюсь многократно перепроверять аудио дорожку продолжительностью 30 секунд. Я использую MediaPlayer для воспроизведения звуков, вот код, где его создания:Небольшая пауза между петлями MediaPlayer

mAnimalMediaPlayer = MediaPlayer.create(mContext, fish.getSound()); 

я называю:

mAnimalMediaPlayer.setLooping(true); 
mAnimalMediaPlayer.start(); 

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

Вот андроидом сообщение об ошибке, которая была в течение некоторого времени: https://code.google.com/p/android/issues/detail?id=18756

Я пытался несколько обходных путей (например, используя .ogg файлы вместо .mp3), но проблема остается.

Я ищу любое возможное обходное решение, которое позволит мне легко циклически воспроизводить воспроизведение несколько раз.

+0

Если вы хотите разобраться в этом, подумайте о том, как использовать MediaCodec для декодирования звука в raw pcm и перекачивать его в потоковый режим AudioTrack. Это нетривиальное количество кода, но дает вам полный контроль над звуком, который получает визуализированный. –

+0

Возможный дубликат [Cant, способный достичь Gapless аудио-цикла до сих пор на Android] (http://stackoverflow.com/questions/26274182/cant-able-to-achieve-gapless-audio-looping-so-far-on- андроид) –

ответ

0

Существует очень заметная пауза. Тем не менее, я только что открыл через эксперимент на эмуляторе, работающем на уровне 25, что, если вы готовите двух одинаковых игроков и поочередно запускаете их один за другим, когда другой закончен, то разрыв становится намного сложнее услышать.

Смежные вопросы