Android Studio 및 ExoPlayer를 처음 사용했습니다. 플레이어를 시작하여 동영상을 재생했지만 플레이어가 버퍼링 중이며 진행률 표시 줄에 사용자에게 알리면 검색 할 수 없습니다. 도움이 필요합니까?Exoplayer 및 ProgressBar
1
A
답변
3
당신은 ExoPlayer.EventListener를 구현하고 레이아웃 파일에 비디오 진행 (STATE_IDLE, STATE_BUFFERING, STATE_READY, STATE_ENDED를)
4
재생의 상태를 감지하는 onPlayerStateChanged()를 오버라이드 (override) : 플레이어 활동에
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"/>
:
player.addListener(new 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){
progressBar.setVisibility(View.VISIBLE);
} else {
progressBar.setVisibility(View.INVISIBLE);
}
}
@Override
public void onPlayerError(ExoPlaybackException error) {}
@Override
public void onPositionDiscontinuity() {}
@Override
public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {}
});
대신 'ExoPlayer.STATE_BUFFERING'은 (는) 대신'Player.STATE_BUFFERING'을 사용합니다. –