From d6ed2e2a89e0d6bbd2f4c9470212152a8da9661c Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 15 Nov 2023 16:14:11 +0800 Subject: [PATCH] Fix exo sub flag --- app/src/main/java/com/fongmi/android/tv/bean/Sub.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Sub.java b/app/src/main/java/com/fongmi/android/tv/bean/Sub.java index dc397a79e..82a89df59 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Sub.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Sub.java @@ -3,6 +3,7 @@ package com.fongmi.android.tv.bean; import android.net.Uri; import android.text.TextUtils; +import androidx.media3.common.C; import androidx.media3.common.MediaItem; import com.fongmi.android.tv.player.ExoUtil; @@ -21,6 +22,8 @@ public class Sub { private String lang; @SerializedName("format") private String format; + @SerializedName("flag") + private int flag; public static Sub from(String path) { return from(new File(path)); @@ -30,6 +33,7 @@ public class Sub { Sub sub = new Sub(); sub.name = file.getName(); sub.url = file.getAbsolutePath(); + sub.flag = C.SELECTION_FLAG_FORCED; sub.format = ExoUtil.getMimeType(file.getName()); return sub; } @@ -50,12 +54,16 @@ public class Sub { return TextUtils.isEmpty(format) ? "" : format; } + public int getFlag() { + return flag == 0 ? C.SELECTION_FLAG_DEFAULT : flag; + } + public void trans() { if (Trans.pass()) return; this.name = Trans.s2t(name); } public MediaItem.SubtitleConfiguration getExo() { - return new MediaItem.SubtitleConfiguration.Builder(Uri.parse(getUrl())).setLabel(getName()).setMimeType(getFormat()).setLanguage(getLang()).build(); + return new MediaItem.SubtitleConfiguration.Builder(Uri.parse(getUrl())).setLabel(getName()).setMimeType(getFormat()).setSelectionFlags(getFlag()).setLanguage(getLang()).build(); } }