ExoPlayer寻求开始和寻求结束事件

时间:2018-11-30 12:13:33

标签: android exoplayer exoplayer2.x

我实现了AnalyticsListener接口,并且正在侦听“ onSeekStarted”和“ onSeekProcessed”事件。

在ExoPlayer中,当我开始搜索时没有任何事件。当我释放滑块时,我得到“ onSeekStarted”,然后视频重新计算位置,当视频从新位置开始再次播放时,我得到“ onSeekProcessed”。这不是我所需要的。

我需要的是一个事件,当用户开始搜索滑块时(寻找开始),以及一个事件,当用户释放滑块时(寻找结束)。有什么方法可以用ExoPlayer实现吗?

我正在使用ExoPlayer 2.9

1 个答案:

答案 0 :(得分:0)

根据AnalyticsListener文档:

/**
 * Called when a seek operation started.
 *
 * @param eventTime The event time.
 */
 void onSeekStarted(EventTime eventTime);

/**
 * Called when a seek operation was processed.
 *
 * @param eventTime The event time.
 */
void onSeekProcessed(EventTime eventTime);

因此,当播放器的播放位置更改并且您正在寻找的是侦听器时,会触发这些回调。

我假设您使用的是PlayerView,并且股票播放器控件处于打开状态,即PlayerControlView,但是此类仅支持可见性更改侦听器VisibilityListener,并且不支持其他回调/侦听器。

因此,要处理scrubStart和scrubStop操作,必须创建一个自定义android.widget.SeekBar并处理来自

的回调
  

SeekBar.OnSeekBarChangeListener

onStartTrackingTouchonStopTrackingTouch回调将完全执行您想要的操作。 希望对您有帮助