fix: audio track names scrambled
This commit is contained in:
parent
7fdd8d5d6e
commit
9d13920f63
2 changed files with 13 additions and 7 deletions
|
@ -227,7 +227,7 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL
|
|||
|
||||
private var downloadId: String? = null
|
||||
private var hasExtSubtitles = false
|
||||
private var audioLanguages = mutableListOf<String>()
|
||||
private var audioLanguages = mutableListOf<Pair<String,String>>()
|
||||
|
||||
companion object {
|
||||
var initialized = false
|
||||
|
@ -1548,8 +1548,9 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL
|
|||
val audioMediaItem = mutableListOf<MediaItem>()
|
||||
audioLanguages.clear()
|
||||
ext.audioTracks.forEach {
|
||||
val code = LanguageMapper.getLanguageCode(it.lang)
|
||||
audioLanguages.add(code)
|
||||
var code = LanguageMapper.getLanguageCode(it.lang)
|
||||
if (code == "all") code = "un"
|
||||
audioLanguages.add(Pair(it.lang, code))
|
||||
audioMediaItem.add(
|
||||
MediaItem.Builder()
|
||||
.setUri(it.url)
|
||||
|
@ -1560,7 +1561,7 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL
|
|||
}
|
||||
|
||||
val audioSources = audioMediaItem.map { mediaItem ->
|
||||
if (mediaItem.localConfiguration?.uri.toString().endsWith(".m3u8")) {
|
||||
if (mediaItem.localConfiguration?.uri.toString().contains(".m3u8")) {
|
||||
HlsMediaSource.Factory(cacheFactory).createMediaSource(mediaItem)
|
||||
} else {
|
||||
DefaultMediaSourceFactory(cacheFactory).createMediaSource(mediaItem)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package ani.dantotsu.media.anime
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
@ -22,7 +23,7 @@ class TrackGroupDialogFragment(
|
|||
private var instance: ExoplayerView,
|
||||
private var trackGroups: ArrayList<Tracks.Group>,
|
||||
private var type: @TrackType Int,
|
||||
private var overrideTrackNames: List<String>? = null
|
||||
private var overrideTrackNames: List<Pair<String, String>>? = null
|
||||
) : BottomSheetDialogFragment() {
|
||||
private var _binding: BottomSheetSubtitlesBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
@ -57,12 +58,16 @@ class TrackGroupDialogFragment(
|
|||
)
|
||||
)
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@OptIn(UnstableApi::class)
|
||||
override fun onBindViewHolder(holder: StreamViewHolder, position: Int) {
|
||||
val binding = holder.binding
|
||||
trackGroups[position].let { trackGroup ->
|
||||
when (val language = overrideTrackNames?.getOrNull(position)
|
||||
?: trackGroup.getTrackFormat(0).language?.lowercase()) {
|
||||
if (overrideTrackNames?.getOrNull(position - (trackGroups.size - (overrideTrackNames?.size?:0))) != null) {
|
||||
val pair = overrideTrackNames!![position - (trackGroups.size - overrideTrackNames!!.size)]
|
||||
binding.subtitleTitle.text =
|
||||
"[${pair.second}] ${pair.first}"
|
||||
} else when (val language = trackGroup.getTrackFormat(0).language?.lowercase()) {
|
||||
null -> {
|
||||
binding.subtitleTitle.text =
|
||||
getString(R.string.unknown_track, "Track $position")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue