【发布时间】:2016-06-29 12:46:06
【问题描述】:
我正在使用 EXO 播放器在 Android 上播放视频。我想在剩下最后 30 秒的视频时向用户显示 toast 消息。如何在视频剩余最后 30 秒时收到通知?
【问题讨论】:
标签: android video duration exoplayer
我正在使用 EXO 播放器在 Android 上播放视频。我想在剩下最后 30 秒的视频时向用户显示 toast 消息。如何在视频剩余最后 30 秒时收到通知?
【问题讨论】:
标签: android video duration exoplayer
要检索视频的当前位置和持续时间,您可以在 ExoPlayer 实例上使用 getCurrentPosition() 和 getDuration();。两者都以毫秒为单位。当差异为<= 30000 时,您可以显示您的弹出窗口。您应该如何以及多久检查一次这种情况是否属实,这取决于您。如果我在你身边,我会使用处理程序
【讨论】:
伪代码如下:
TrackRenderer tr;
If (tr.getDurationUs() - tr.getMediaClock().getPositionUs() <= 30000)
{
showToast();
}
当视频剩余 30 秒时,上方应显示 toast。
注意:TrackRenderer.getDurationUs() 和 getPositionUs() 以 long 类型返回微秒。
【讨论】: