当前位置: 首页 > 知识库问答 >
问题:

如何使用ExoPlayer在播放一段时间后(从url播放)加载视频时显示Progressbar?

卢翔宇
2023-03-14

我使用Exoplayer从Url播放视频,但当视频在播放过程中处于缓冲区时,只需吸吮播放器,什么也不会发生。所以,我决定在视频缓冲区处于播放状态时显示进度条。那么,如何使用Exoplayer实现这一点呢?

共有2个答案

谭昱
2023-03-14

在玩家活动中实施

外星玩家。事件侦听器

@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
   if (playbackState == ExoPlayer.STATE_BUFFERING) {
       //show your progress dialog here
    }
}
熊锐进
2023-03-14

在布局文件中

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<ProgressBar
    android:id="@+id/exo_player_progress_bar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"/>
</FrameLayout>

在活动类中实现ExoPlayer。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) {
    if (playbackState == ExoPlayer.STATE_BUFFERING){
        mProgressBar.setVisibility(View.VISIBLE);
    } else {
        mProgressBar.setVisibility(View.INVISIBLE);
    }
}

@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上。使用或播放/暂停视频。到处都找不到解决办法,好像我错过了什么,但又不知道是什么。

  • 我正在开发一个应用程序,我使用了谷歌的ExoPlayer,它工作起来很有魅力,现在我想在我的应用程序中添加RTSP支持,但使用ExoPlayer我无法播放,请任何人都可以帮我,如果有人有其他选择,请与我分享。 日志 E/ExoPlayerImplInternal:源错误。网蝴蝶电视。rtmp_客户端。RtmpClient$RtmpIOException at net。蝴蝶电视。rtmp_客户端。R

  • 我正在尝试在android中实现BrightCove Exoplayer。我能够成功地实现播放单个视频。现在我正在尝试使用Exoplayer播放播放列表。播放列表中的第一个视频,在第一个视频结束时,播放器不会播放播放列表中的下一个视频。它再次显示第一个视频的开头;如果我按下播放按钮,第一个视频将再次播放。我想实现连续播放播放列表中的所有视频。我错过什么了吗?我将我的代码张贴在下面: 主要活动:

  • 我有一个URL:-“http://fitnation.theclientdemos.com:9000/media/uploads/videoplayback_3_jtvchi1”当我在浏览器上运行这个URL时,我的VDO开始下载。 请帮助在视图中播放此视频(让视图名称为:-vdoView) 为此,我尝试以下代码:-

  • 我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是,当录像机或视频播放器启动时,我需要暂停音频播放器。 有什么方法可以处理这个任务吗?例如,我有来处理这些调用。当我接到呼叫或wnat呼叫时,我们可以使用呼叫状态暂停播放器。我想为录像机或视频播放器以及相同的场景。当视频/录制开始时,我需要暂停音频播放器。

  • 在我的应用程序中,我想显示来自服务器URI路径的视频,在这里,第一次播放视频,当我想第二次播放视频时,视频没有播放,并显示一个弹出窗口,如无法播放此视频 下面是我的错误 提前谢谢。