我正在使用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) {
}
答案 0 :(得分:5)
如果要每秒获取当前视频位置,请每秒运行一次处理程序,并以秒为单位获取当前位置,如下所示。
long videoWatchedTime =0;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//Do your work
videoWatchedTime= player.getCurrentPosition()/1000;
}
},1000);