Ответ, предоставленный выше, обеспечивает синхронную выборку и воспроизведение, что означает, что выполняющийся в данный момент поток будет заблокирован до завершения prepare ().
prepareAsync () может использоваться вместо этого, чтобы "подготовить" поток асинхронно. Вам также потребуется обработать событие onPrepared (), чтобы начать играть.
mediaPlayer.setDataSource(URL here);
mediaPlayer.prepareAsync();
Добавить обработчик события OnPrepared:
mPlayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mPlayer.start();
}
});
Тем не менее, по-видимому, нет способа настроить размер буфера потоковой передачи. Разочарование ...