Im my application I use the ExoPlayer library to play videos. I'm able to change the audio track with following code by passing C.TRACK_TYPE_AUDIO as trackType:
private fun selectTrack(trackType: Int, groupId: Int, trackId: Int) {
val mappedTrackInfo = trackSelector.currentMappedTrackInfo ?: return
val parameters = trackSelector.parameters
val builder = parameters.buildUpon()
for (rendererIndex in 0 until mappedTrackInfo.rendererCount) {
val trackGroups = mappedTrackInfo.getTrackGroups(rendererIndex)
val rendererType = mappedTrackInfo.getRendererType(rendererIndex)
if(!trackGroups.isEmpty && rendererType == trackType) {
val override = SelectionOverride(groupID, trackID)
builder.clearSelectionOverrides(rendererIndex).setRendererDisabled(rendererIndex, false)
builder.setSelectionOverride(rendererIndex, trackGroups, override)
}
}
trackSelector.setParameters(builder)
}
However, when I try to change subtitles by passing C.TRACK_TYPE_TEXT the whole stream freezes until I change an audio track (by calling the same function again) as well. Any ideas why that happens?
from Stream freezes when changing subtitles
No comments:
Post a Comment