Возобновить буферизацию потока mediaPlayer после срабатывания onCompletionListener? - PullRequest
0 голосов
/ 15 апреля 2019

Я использую MediaPlayer для потоковой передачи онлайн-mp3, и я пытаюсь решить эту проблему, где, если интернет отключается, и кэшированный аудио-буфер воспроизводится, мой onCompletionListener срабатывает, и mediaPlayer переходит в состояние PlaybackCompleted, как будто вся песняготово.

После включения Интернета я ожидаю, что звук снова начнет буферизоваться, но это не так, потому что mediaPlayer переходит в состояние PlaybackCompleted и вызывает для него вызов mediaPlayer.start (), который перезапускает весь звук с 00:00.,Я не хочу, чтобы это произошло, я хочу, чтобы он продолжал буферизацию с того места, где он оставался, и проигрывал оставшуюся часть песни.Любые идеи, как я мог бы сделать это?

1 Ответ

0 голосов
/ 15 апреля 2019

[https://gist.github.com/codeshifu/c26bb8a5f27f94d73b3a4888a509927c][1] Когда вы проверите эту ссылку, вы увидите этот блок в коде для этого блока восстановления состояния вашего медиаплеера.

 public static final String AUTOPLAY = "autoplay";
        public static final String CURRENT_WINDOW_INDEX = "current_window_index";
        public static final String PLAYBACK_POSITION = "playback_position";
     if (savedInstanceState != null) {
                playbackPosition = savedInstanceState.getLong(PLAYBACK_POSITION, 0);
                currentWindow = savedInstanceState.getInt(CURRENT_WINDOW_INDEX, 0);
                autoPlay = savedInstanceState.getBoolean(AUTOPLAY, false);
            }
...