Функция поиска ExoPlayer не ищет указанную точку, но начинается с 0

Я работаю над ExoPlayer 2.6.0 для приложения потокового радио. Радио играет нормально, но когда я пытаюсь добавить seekTo на +/-30 секунд, оно всегда начинает потоковую передачу с 0. В режиме отладки проигрыватель ищет +30 секунд, но как только setPlayWhenReady() установлен, он возвращается начать с 0. Я долго искал это решение, поэтому решил спросить здесь. Любая помощь будет оценена.

Ниже приведен код, который я использую для операции поиска.

ivForward.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                if (exoPlayer != null && Constants.isMediaPlaying) {
                    exoPlayer.setPlayWhenReady(false);
                    Constants.isMediaPlaying = false;
                    long bufferPosition = exoPlayer.getBufferedPosition();
                    long currentPosition = exoPlayer.getCurrentPosition();
                    if ((currentPosition + 30000) < bufferPosition + 50) {
                        exoPlayer.setPlayWhenReady(false);
                        Constants.isMediaPlaying = false;
                        exoPlayer.seekTo(exoPlayer.getCurrentWindowIndex(), currentPosition + 30000);
                        exoPlayer.setPlayWhenReady(true);
                        Constants.isMediaPlaying = true;
                    }
                }
            } catch (Exception e) {
                MakeToast.show("Error moving forward");
            }
        }
    });

Спасибо

0 ответов

Другие вопросы по тегам