mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 07:50:31 +05:30
attempt to fix captions
This commit is contained in:
parent
7f1e0147c1
commit
906728f51b
@ -149,7 +149,7 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
|||||||
* for the player view
|
* for the player view
|
||||||
*/
|
*/
|
||||||
private lateinit var exoPlayerView: StyledPlayerView
|
private lateinit var exoPlayerView: StyledPlayerView
|
||||||
private var subtitle = mutableListOf<SubtitleConfiguration>()
|
private var subtitles = mutableListOf<SubtitleConfiguration>()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* user preferences
|
* user preferences
|
||||||
@ -1046,7 +1046,7 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
|||||||
|
|
||||||
val videoItem: MediaItem = MediaItem.Builder()
|
val videoItem: MediaItem = MediaItem.Builder()
|
||||||
.setUri(videoUri)
|
.setUri(videoUri)
|
||||||
.setSubtitleConfigurations(subtitle)
|
.setSubtitleConfigurations(subtitles)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val videoSource: MediaSource =
|
val videoSource: MediaSource =
|
||||||
@ -1067,7 +1067,7 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
|||||||
private fun setHLSMediaSource(uri: Uri) {
|
private fun setHLSMediaSource(uri: Uri) {
|
||||||
val mediaItem: MediaItem = MediaItem.Builder()
|
val mediaItem: MediaItem = MediaItem.Builder()
|
||||||
.setUri(uri)
|
.setUri(uri)
|
||||||
.setSubtitleConfigurations(subtitle)
|
.setSubtitleConfigurations(subtitles)
|
||||||
.build()
|
.build()
|
||||||
exoPlayer.setMediaItem(mediaItem)
|
exoPlayer.setMediaItem(mediaItem)
|
||||||
}
|
}
|
||||||
@ -1118,11 +1118,11 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
|||||||
val (videosNameArray, videosUrlArray) = getAvailableResolutions()
|
val (videosNameArray, videosUrlArray) = getAvailableResolutions()
|
||||||
|
|
||||||
// create a list of subtitles
|
// create a list of subtitles
|
||||||
subtitle = mutableListOf()
|
subtitles = mutableListOf()
|
||||||
val subtitlesNamesList = mutableListOf(context?.getString(R.string.none)!!)
|
val subtitlesNamesList = mutableListOf(context?.getString(R.string.none)!!)
|
||||||
val subtitleCodesList = mutableListOf("")
|
val subtitleCodesList = mutableListOf("")
|
||||||
streams.subtitles!!.forEach {
|
streams.subtitles.orEmpty().forEach {
|
||||||
subtitle.add(
|
subtitles.add(
|
||||||
SubtitleConfiguration.Builder(it.url!!.toUri())
|
SubtitleConfiguration.Builder(it.url!!.toUri())
|
||||||
.setMimeType(it.mimeType!!) // The correct MIME type (required).
|
.setMimeType(it.mimeType!!) // The correct MIME type (required).
|
||||||
.setLanguage(it.code) // The subtitle language (optional).
|
.setLanguage(it.code) // The subtitle language (optional).
|
||||||
@ -1133,13 +1133,17 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// set the default subtitle if available
|
// set the default subtitle if available
|
||||||
|
val newParams = trackSelector.buildUponParameters()
|
||||||
if (PlayerHelper.defaultSubtitleCode != "" && subtitleCodesList.contains(PlayerHelper.defaultSubtitleCode)) {
|
if (PlayerHelper.defaultSubtitleCode != "" && subtitleCodesList.contains(PlayerHelper.defaultSubtitleCode)) {
|
||||||
val newParams = trackSelector.buildUponParameters()
|
newParams
|
||||||
.setPreferredTextLanguage(PlayerHelper.defaultSubtitleCode)
|
.setPreferredTextLanguage(PlayerHelper.defaultSubtitleCode)
|
||||||
.setPreferredTextRoleFlags(C.ROLE_FLAG_CAPTION)
|
.setPreferredTextRoleFlags(C.ROLE_FLAG_CAPTION)
|
||||||
trackSelector.setParameters(newParams)
|
} else {
|
||||||
|
newParams.setPreferredTextLanguage(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trackSelector.setParameters(newParams)
|
||||||
|
|
||||||
// set media source and resolution in the beginning
|
// set media source and resolution in the beginning
|
||||||
setStreamSource(
|
setStreamSource(
|
||||||
streams,
|
streams,
|
||||||
@ -1334,7 +1338,7 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
|||||||
// none selected
|
// none selected
|
||||||
// disable captions
|
// disable captions
|
||||||
trackSelector.buildUponParameters()
|
trackSelector.buildUponParameters()
|
||||||
.setPreferredTextLanguage("")
|
.setPreferredTextLanguage(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the new caption language
|
// set the new caption language
|
||||||
|
Loading…
x
Reference in New Issue
Block a user