【问题标题】:How to stop a user seeking a video in Exoplayer?如何阻止用户在 Exoplayer 中寻找视频?
【发布时间】:2018-03-22 15:33:13
【问题描述】:

我已将 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() {}
    }; 

【问题讨论】:

  • 你说的是当视频开始播放时弹出的默认视图有媒体控件吗?
  • 对上面的示例代码的评论:您可能想使用 DefaultEventListener,因此您只能覆盖 onPlayerStateChanged 方法,而所有其他保持无操作。

标签: android exoplayer exoplayer2.x


【解决方案1】:

在 UI 方面,您可以避免使用

显示控制器
app:use_controller="false"

这样搜索的 UI 不会显示。

如果您仍然希望其他 UI 元素可见(例如播放/暂停),您可以根据需要自定义控制器。 There is a blog post about customizing the UI on Medium.

【讨论】:

    【解决方案2】:

    如果您指的是 ExoPlayer 的 PlayerView 显示的搜索栏。您可以只使用简单的 SurfaceView 而不是 PlayerView。

    https://google.github.io/ExoPlayer/doc/reference/index.html?com/google/android/exoplayer2/ui/PlayerView.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-22
      • 2022-07-07
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多