如何阻止用户在 Exoplayer 中寻找视频?
How to stop a user seeking a video in Exoplayer?
我已将 Exoplayer 添加到应用程序中,客户要求用户观看完整视频并关闭屏幕。我已经实现了 PlayerEventListener 来识别完成状态,但没有找到任何回调或停止用户寻求操作的方法。请在这里帮助我如何停止寻找视频。
private Player.EventListener exoEventListener = new Player.EventListener() {
@Override
public void onTimelineChanged(Timeline timeline, Object manifest) {}
@Override
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {}
@Override
public void onLoadingChanged(boolean isLoading) {}
@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
switch(playbackState) {
case Player.STATE_BUFFERING:
break;
case Player.STATE_ENDED:
isVideoFinished = true;
videoSectionListener.onVideoFinished();
break;
case Player.STATE_IDLE:
break;
case Player.STATE_READY:
break;
default:
break;
}
}
@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() {}
};
如果您指的是 ExoPlayer 的 PlayerView 显示的搜索栏。您可以只使用简单的 SurfaceView 而不是 PlayerView。
在 UI 方面,您可以避免使用
显示控制器
app:use_controller="false"
这样求的UI就不显示了。
如果您仍想让其他 UI 元素可见(如 play/pause),您可以根据需要自定义控制器。 There is a blog post about customizing the UI on Medium.
我已将 Exoplayer 添加到应用程序中,客户要求用户观看完整视频并关闭屏幕。我已经实现了 PlayerEventListener 来识别完成状态,但没有找到任何回调或停止用户寻求操作的方法。请在这里帮助我如何停止寻找视频。
private Player.EventListener exoEventListener = new Player.EventListener() {
@Override
public void onTimelineChanged(Timeline timeline, Object manifest) {}
@Override
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {}
@Override
public void onLoadingChanged(boolean isLoading) {}
@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
switch(playbackState) {
case Player.STATE_BUFFERING:
break;
case Player.STATE_ENDED:
isVideoFinished = true;
videoSectionListener.onVideoFinished();
break;
case Player.STATE_IDLE:
break;
case Player.STATE_READY:
break;
default:
break;
}
}
@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() {}
};
如果您指的是 ExoPlayer 的 PlayerView 显示的搜索栏。您可以只使用简单的 SurfaceView 而不是 PlayerView。
在 UI 方面,您可以避免使用
显示控制器app:use_controller="false"
这样求的UI就不显示了。
如果您仍想让其他 UI 元素可见(如 play/pause),您可以根据需要自定义控制器。 There is a blog post about customizing the UI on Medium.