From 78eca1c51d1009bf14e4605236f049d24eb3ccad Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 13 Nov 2023 22:48:56 +0800 Subject: [PATCH] Update ExoUtil.java --- app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java b/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java index 20fb76779..a1fcbeb02 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java @@ -52,6 +52,7 @@ import com.google.common.net.HttpHeaders; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Map; import okhttp3.Call; @@ -70,7 +71,7 @@ public class ExoUtil { public static TrackSelector buildTrackSelector() { DefaultTrackSelector trackSelector = new DefaultTrackSelector(App.get()); - trackSelector.setParameters(trackSelector.buildUponParameters().setPreferredTextLanguage("zh").setForceHighestSupportedBitrate(true).setTunnelingEnabled(Setting.isTunnel())); + trackSelector.setParameters(trackSelector.buildUponParameters().setPreferredTextLanguage(Locale.getDefault().getISO3Language()).setForceHighestSupportedBitrate(true).setTunnelingEnabled(Setting.isTunnel())); return trackSelector; } @@ -157,6 +158,7 @@ public class ExoUtil { } private static void selectTrack(ExoPlayer player, int group, int track, List trackIndices) { + if (group >= player.getCurrentTracks().getGroups().size()) return; Tracks.Group trackGroup = player.getCurrentTracks().getGroups().get(group); for (int i = 0; i < trackGroup.length; i++) { if (i == track || trackGroup.isTrackSelected(i)) trackIndices.add(i); @@ -164,6 +166,7 @@ public class ExoUtil { } private static void deselectTrack(ExoPlayer player, int group, int track, List trackIndices) { + if (group >= player.getCurrentTracks().getGroups().size()) return; Tracks.Group trackGroup = player.getCurrentTracks().getGroups().get(group); for (int i = 0; i < trackGroup.length; i++) { if (i != track && trackGroup.isTrackSelected(i)) trackIndices.add(i); @@ -171,6 +174,7 @@ public class ExoUtil { } private static void setTrackParameters(ExoPlayer player, int group, List trackIndices) { + if (group >= player.getCurrentTracks().getGroups().size()) return; player.setTrackSelectionParameters(player.getTrackSelectionParameters().buildUpon().setOverrideForType(new TrackSelectionOverride(player.getCurrentTracks().getGroups().get(group).getMediaTrackGroup(), trackIndices)).build()); }