0
我使用Exoplayer播放來自Url的視頻但是當視頻是緩衝區的時候,播放時只是吸球而沒有任何事情發生。所以,我決定在播放狀態下播放視頻緩衝區時顯示進度條。 那麼,如何實現使用Exoplayer?如何使用ExoPlayer播放一段時間(從網址播放)加載視頻時顯示進度條?
我使用Exoplayer播放來自Url的視頻但是當視頻是緩衝區的時候,播放時只是吸球而沒有任何事情發生。所以,我決定在播放狀態下播放視頻緩衝區時顯示進度條。 那麼,如何實現使用Exoplayer?如何使用ExoPlayer播放一段時間(從網址播放)加載視頻時顯示進度條?
播放器上的活動實施
ExoPlayer.EventListener
@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
if (playbackState == ExoPlayer.STATE_BUFFERING) {
//show your progress dialog here
}
}
在佈局文件
<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() {
}