Я пробовал почти каждый метод, но мне не удалось добиться беспроблемного воспроизведения звука между циклом одного трека продолжительностью 10-15 секунд.
Шаги, которые я пробовал и не выполнял:
-
Различные форматы аудиофайлов
.mp3.wav.ogg, используяsetLooping(true):MediaPlayer mp1 = MediaPlayer.create(MainActivity.this, R.raw.track1); mp1.setLooping(true); mp1.start(); -
Создание двух медиаплееров и циклирование один за другим с использованием
setOnCompletionListenerто же самое не удалось выполнить без пробелов. -
Используя
setNextMediaPlayer(nextmp), как это работает, но возможны только две петли. Мы должны подготовиться и начать снова после завершения предыдущих двух циклов.mp1.start(); mp1.setNextMediaPlayer(mp2); -
Update: Результат ответа @Jeff Mixon: Цикл Mediaplayer останавливается с ошибкой Android. Джефф Миксон работает нормально, но только за 10 или 20 циклов после этого, из-за некоторых проблем с сборкой мусора Mediaplayers останавливается сразу же, оставляя журналы, как указано ниже. Я действительно застрял здесь два года. Спасибо заранее.
E/MediaPlayer(24311): error (1, -38) E/MediaPlayer(23256): Error(1,-1007) E/MediaPlayer(23546): Error (1,-2147483648)