我实现了AnalyticsListener接口,并且正在侦听“ onSeekStarted”和“ onSeekProcessed”事件。
在ExoPlayer中,当我开始搜索时没有任何事件。当我释放滑块时,我得到“ onSeekStarted”,然后视频重新计算位置,当视频从新位置开始再次播放时,我得到“ onSeekProcessed”。这不是我所需要的。
我需要的是一个事件,当用户开始搜索滑块时(寻找开始),以及一个事件,当用户释放滑块时(寻找结束)。有什么方法可以用ExoPlayer实现吗?
我正在使用ExoPlayer 2.9
答案 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
onStartTrackingTouch
和onStopTrackingTouch
回调将完全执行您想要的操作。
希望对您有帮助