如何在exo播放器中获取当前视频时长?

时间:2020-07-18 14:23:08

标签: java android exoplayer

我正在使用ExoPlayer库播放在线数据源中的一些视频。一切正常。

现在,我想每秒获取当前的视频时长/位置。我无法在默认事件监听器中获得任何选项。任何人都有任何参考,我已经搜索过它,但无法获得任何信息。请帮我得到这个。

这是我得到的事件监听器功能,

 @Override
    public void onRepeatModeChanged(int repeatMode) {

    }

    @Override
    public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) {

    }


    @Override
    public void onPlayerError(ExoPlaybackException error) {

    }

    @Override
    public void onPositionDiscontinuity(int reason) {

    }

    
    @Override
    public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {

    }

    @Override
    public void onSeekProcessed() {

    }


    @Override
    public void onPlaybackSuppressionReasonChanged(int playbackSuppressionReason) {

    }

    @Override
    public void onIsPlayingChanged(boolean isPlaying) {

    }

1 个答案:

答案 0 :(得分:5)

如果要每秒获取当前视频位置,请每秒运行一次处理程序,并以秒为单位获取当前位置,如下所示。

long videoWatchedTime =0;
new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            //Do your work
   videoWatchedTime= player.getCurrentPosition()/1000;
        }
    },1000);