Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用ExoPlayer播放一段时间(从url播放)后加载视频时,如何显示Progressbar?_Exoplayer - Fatal编程技术网

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

在使用ExoPlayer播放一段时间(从url播放)后加载视频时,如何显示Progressbar?,exoplayer,Exoplayer,我使用Exoplayer从Url播放视频,但当视频在播放过程中被缓冲时,那个时候只需吸吮播放器,什么也并没有发生。所以,我决定在视频缓冲区处于播放状态时显示进度条。 那么,如何使用Exoplayer实现这一点呢 在玩家活动中实施 ExoPlayer.EventListener 在您的玩家活动中实施 ExoPlayer.EventListener 在布局文件中 <FrameLayout android:layout_width="match_parent" android:l

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

在玩家活动中实施

ExoPlayer.EventListener


在您的玩家活动中实施

ExoPlayer.EventListener

在布局文件中

<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>
在布局文件中

<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>
@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() {

}