要创建或获取 TrackSelectionOverride 对象,您需要执行以下步骤:

  1. 获取 ExoPlayer 实例并获取 TrackSelector 对象:
SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build();
TrackSelector trackSelector = player.getTrackSelector();
  1. 获取当前的 TrackSelection 对象:
TrackSelection currentSelection = trackSelector.getCurrentTrackSelections().get(rendererIndex);

其中,rendererIndex 是您要获取 TrackSelection 的媒体轨道的索引。

  1. 创建或获取 TrackSelectionOverride 对象:
TrackSelectionOverride override = new TrackSelectionOverride.Factory()
    .createTrackSelectionOverride(rendererIndex, groupIndex, selection);

其中,groupIndex 是您要覆盖的 TrackGroup 的索引,而 selection 是您要使用的新 TrackSelection 对象。

  1. 将 TrackSelectionOverride 对象应用于 ExoPlayer:
trackSelector.setParameters(trackSelector.buildUponParameters()
    .setSelectionOverride(rendererIndex, trackSelector.getParameters().getRendererDisabled(rendererIndex), override));

这将覆盖指定的 TrackGroup 的当前 TrackSelection。

ExoPlayer2: 如何创建或获取 TrackSelectionOverride 对象

原文地址: https://www.cveoy.top/t/topic/jHv9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录