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

How to get current duration of video in exo player?

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

现在我想每秒获取当前视频 duration/position。我无法在默认事件侦听器中获得任何选项。任何人都有任何参考,我已经搜索过但无法得到任何东西。请帮我弄到这个。

这是我得到的事件侦听器函数,

 @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) {

    }

如果您想每秒获取当前视频位置,则 运行 每秒处理程序并获取当前位置(以秒为单位),如下所示。

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