ExoPlayer seekto 函数不搜索指定点而是从 0 开始

Har*_*eem 6 exoplayer seektotime exoplayer2.x

我正在为广播流应用程序开发 ExoPlayer 2.6.0。收音机播放很好,但是当我尝试添加 seekTo +/-30 秒时,它总是从 0 开始流式传输。在调试模式下,播放器搜索到 +30 秒,但一旦设置了 setPlayWhenReady() 它就会返回从 0 开始。我一直在寻找这个解决方案很久了,所以决定在这里提问。任何帮助将不胜感激。

以下是我用于 seekto 操作的代码。

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");
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

谢谢