|
|
|
|
@ -13,6 +13,7 @@ import com.google.android.exoplayer2.DefaultRenderersFactory; |
|
|
|
|
import com.google.android.exoplayer2.ExoPlayer; |
|
|
|
|
import com.google.android.exoplayer2.PlaybackException; |
|
|
|
|
import com.google.android.exoplayer2.Player; |
|
|
|
|
import com.google.android.exoplayer2.analytics.AnalyticsListener; |
|
|
|
|
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; |
|
|
|
|
import com.google.android.exoplayer2.util.Util; |
|
|
|
|
|
|
|
|
|
@ -20,7 +21,7 @@ import java.util.Formatter; |
|
|
|
|
import java.util.Locale; |
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
|
public class Players implements Player.Listener, ParseTask.Callback { |
|
|
|
|
public class Players implements Player.Listener, AnalyticsListener, ParseTask.Callback { |
|
|
|
|
|
|
|
|
|
private StringBuilder builder; |
|
|
|
|
private Formatter formatter; |
|
|
|
|
@ -40,6 +41,7 @@ public class Players implements Player.Listener, ParseTask.Callback { |
|
|
|
|
selector.setParameters(selector.getParameters().buildUpon().setPreferredTextLanguage("zh").build()); |
|
|
|
|
DefaultRenderersFactory factory = new DefaultRenderersFactory(App.get()).experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled(true).setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON); |
|
|
|
|
exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(new DefaultLoadControl()).setRenderersFactory(factory).setTrackSelector(selector).build(); |
|
|
|
|
exoPlayer.addAnalyticsListener(this); |
|
|
|
|
exoPlayer.addListener(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -184,4 +186,9 @@ public class Players implements Player.Listener, ParseTask.Callback { |
|
|
|
|
public void onPlaybackStateChanged(int state) { |
|
|
|
|
PlayerEvent.state(state); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onAudioSinkError(@NonNull EventTime eventTime, @NonNull Exception audioSinkError) { |
|
|
|
|
seekTo(1000); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|