2016-09-29 5 views
4

라이브 비디오 (HLS)를 재생할 때 얼마 지나지 않아이 예외가 발생합니다. 제대로 작동하는 녹화 된 비디오의 경우이 예외가 발생합니다.라이브 HLS 비디오를 재생할 때 BehindLiveWindowException을주는 Exoplayer (2.0.0)

com.google.android.exoplayer2.source.BehindLiveWindowException 
    at com.google.android.exoplayer2.source.hls.HlsChunkSource.getNextChunk(HlsChunkSource.java:255) 
    at com.google.android.exoplayer2.source.hls.HlsSampleStreamWrapper.continueLoading(HlsSampleStreamWrapper.java:313) 
    at com.google.android.exoplayer2.source.CompositeSequenceableLoader.continueLoading(CompositeSequenceableLoader.java:55) 
    at com.google.android.exoplayer2.source.hls.HlsMediaPeriod.continueLoading(HlsMediaPeriod.java:198) 
    at com.google.android.exoplayer2.ExoPlayerImplInternal.maybeContinueLoading(ExoPlayerImplInternal.java:1080) 
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleContinueLoadingRequested(ExoPlayerImplInternal.java:1067) 
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:289) 
    at android.os.Handler.dispatchMessage(Handler.java:98) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.os.HandlerThread.run(HandlerThread.java:61) 
    at com.google.android.exoplayer2.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40) 

답변

6

Google Ver 2.0은 라이브 HLS 재생에는 매우 불안정합니다. 그래서 Live HLS 재생을 위해 2.0으로 전환 할 때 권장하지 않습니다. BehindLiveWindowException 문제로 Google에서 Live HLS 찾기 기능의 일부로이 문제를 해결하기 위해 노력하고 있습니다.

여기 상태를 추적하십시오 : 유 preparePlayer를 (호출 할 수있는 임시 수정으로 https://github.com/google/ExoPlayer/issues/1782

를) 다시의 OnError에().

@Ovierride 
public void onError(Exception e) { 

    if (e instanceof ExoPlaybackException 
      && e.getCause() instanceof BehindLiveWindowException) { 
     preparePlayer(true); 
    } 
}