mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 07:50:31 +05:30
fix the default subtitle setting
This commit is contained in:
parent
2a73740f79
commit
7c8ba4e552
@ -168,7 +168,7 @@ class PlayerFragment : Fragment() {
|
|||||||
private var defRes = ""
|
private var defRes = ""
|
||||||
private var bufferingGoal = 50000
|
private var bufferingGoal = 50000
|
||||||
private var seekBarPreview = false
|
private var seekBarPreview = false
|
||||||
private var defaultSubtitle = ""
|
private var defaultSubtitleCode = ""
|
||||||
private var sponsorBlockEnabled = true
|
private var sponsorBlockEnabled = true
|
||||||
private var sponsorBlockNotifications = true
|
private var sponsorBlockNotifications = true
|
||||||
|
|
||||||
@ -324,13 +324,13 @@ class PlayerFragment : Fragment() {
|
|||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|
||||||
defaultSubtitle = PreferenceHelper.getString(
|
defaultSubtitleCode = PreferenceHelper.getString(
|
||||||
PreferenceKeys.DEFAULT_SUBTITLE,
|
PreferenceKeys.DEFAULT_SUBTITLE,
|
||||||
""
|
""
|
||||||
)
|
)
|
||||||
|
|
||||||
if (defaultSubtitle.contains("-")) {
|
if (defaultSubtitleCode.contains("-")) {
|
||||||
defaultSubtitle = defaultSubtitle.split("-")[0]
|
defaultSubtitleCode = defaultSubtitleCode.split("-")[0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1347,6 +1347,15 @@ class PlayerFragment : Fragment() {
|
|||||||
subtitleCodesList += it.code!!
|
subtitleCodesList += it.code!!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set the default subtitle if available
|
||||||
|
if (defaultSubtitleCode != "" && subtitleCodesList.contains(defaultSubtitleCode)) {
|
||||||
|
val newParams = trackSelector.buildUponParameters()
|
||||||
|
.setPreferredTextLanguage(defaultSubtitleCode)
|
||||||
|
.setPreferredTextRoleFlags(C.ROLE_FLAG_CAPTION)
|
||||||
|
trackSelector.setParameters(newParams)
|
||||||
|
playerBinding.captions.setImageResource(R.drawable.ic_caption)
|
||||||
|
}
|
||||||
|
|
||||||
// captions selection dialog
|
// captions selection dialog
|
||||||
// hide caption selection view if no subtitles available
|
// hide caption selection view if no subtitles available
|
||||||
if (response.subtitles.isEmpty()) playerBinding.captions.visibility = View.GONE
|
if (response.subtitles.isEmpty()) playerBinding.captions.visibility = View.GONE
|
||||||
@ -1492,10 +1501,8 @@ class PlayerFragment : Fragment() {
|
|||||||
)
|
)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
// set the subtitle if default subtitle selected
|
// control for the track sources like subtitles and audio source
|
||||||
trackSelector = DefaultTrackSelector(requireContext())
|
trackSelector = DefaultTrackSelector(requireContext())
|
||||||
if (defaultSubtitle != "") trackSelector.buildUponParameters()
|
|
||||||
.setPreferredTextLanguage(defaultSubtitle)
|
|
||||||
|
|
||||||
exoPlayer = ExoPlayer.Builder(requireContext())
|
exoPlayer = ExoPlayer.Builder(requireContext())
|
||||||
.setMediaSourceFactory(DefaultMediaSourceFactory(dataSourceFactory))
|
.setMediaSourceFactory(DefaultMediaSourceFactory(dataSourceFactory))
|
||||||
|
@ -72,7 +72,7 @@
|
|||||||
app:title="@string/buffering_goal" />
|
app:title="@string/buffering_goal" />
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="none"
|
android:defaultValue=""
|
||||||
android:icon="@drawable/ic_caption"
|
android:icon="@drawable/ic_caption"
|
||||||
app:key="default_subtitle"
|
app:key="default_subtitle"
|
||||||
app:title="@string/default_subtitle_language" />
|
app:title="@string/default_subtitle_language" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user