Я играю поток HLS со следующим кодом:
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("http://iphoned5.akamai.com.edgesuite.net/mhbarron/nasatv/nasatv_all.m3u8");
mediaPlayer.setDisplay(holder);
mediaPlayer.setOnBufferingUpdateListener(this);
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.setOnVideoSizeChangedListener(this);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepareAsync();
С этим кодом то, что я вижу в видео, запаздывает примерно на 5 минут в соответствии с тем же потоком, воспроизводимым в VLC.
Плеер начинает воспроизводить первый фрагмент файла .m3u8.Но спецификация hls уточняет, что первый блок является старшим, а последний - самым новым.Таким образом, проигрыватель должен начать воспроизведение последнего фрагмента файла.
Я подозреваю, что что-то связано с параметрами метода setDataSource, но я не могу понять, как.