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

时间:2018-10-07 12:36:47

标签: exoplayer exoplayer2.x seektotime

我正在为广播流媒体应用程序开发ExoPlayer 2.6.0。无线电正在播放中很好,但是当我尝试在+/- 30秒内添加seekTo时,它总是从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");
            }
        }
    });

谢谢

0 个答案:

没有答案