2013-11-17 2 views
4

Мне нужно воспроизвести звук без пробелов между lopping, звук должен быть зациклен навсегда без пробелов. Используя setNextMediaPlayer, сливайте только две звуковые дорожки без зазоров, после чего он автоматически перестает воспроизводить звук, он не зацикливается навсегда. Заранее спасибо.Проблема с воспроизведением звука с использованием setNextMediaPlayer

mp1 = MediaPlayer.create(getApplicationContext(), R.raw.loop); 
    mp2 = MediaPlayer.create(getApplicationContext(), R.raw.loop); 

protected void play() { 
    // TODO Auto-generated method stub 

    mp1.start(); 
    mp1.setNextMediaPlayer(mp2); 
    // mp2.setNextMediaPlayer(mp1); 

} 
+0

Привет, Сай, у меня также есть аналогичная проблема. По какой-то причине второй медиаплеер не воспроизводит видео (только звук). Могли ли вы найти решение? – codeshark

ответ

0

Я попытался помочь парню сделать это всего несколько дней назад. См. this question.

Я не уверен, удалось ли ему достичь того, чего он хотел, но я считаю, что ваша проблема в том, что MediaPlayer не находится в подготовленном состоянии после окончания второй дорожки. Вам нужно будет использовать прослушиватель onCompletion, чтобы вернуть его в подготовленное состояние, вызвав stop() и prepareAsync(). Если он не должен находиться в подготовленном состоянии (я честно не уверен), было бы быстрее позвонить seekTo(0) из прослушивателя onCompletion.

Вам обязательно нужно раскомментировать строку mp2.setNextMediaPlayer(mp1);.

+0

Не так не получилось :-( –

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