Android Exoplayer AdaptiveTrackSelection 需要开始高质量的视频

Android Exoplayer AdaptiveTrackSelection need to start video with high quality

我正在使用 Exoplayer 流式传输 HLS 视频内容。默认情况下,AdaptiveTrackSelection 以低质量开始,当它检测到良好的互联网速度时,它会切换到高质量。我想以高质量开始播放器,然后它应该根据互联网速度改变。提前致谢。

我相信您要查找的是 "max initial bitrate" 的修改版。这是一个可以传递给 BandwidthMeter 的参数。 BandwidthMeter 决定了您的带宽以及它如何 select 基于该信息的轨道。如果您将一个大数字作为此参数传递,它将默认强制使用更高的比特率。我认为当前的默认值是 1_000_000(如 DEFAULT_MAX_INITIAL_BITRATE)- 但查看此内容以进行验证。

要传递这个,它看起来像下面这样:

final long defaultMaxInitialBitrate = Integer.MAX_VALUE;
final DefaultBandwidthMeter defaultBandwidthMeter = new Builder()
        .setInitialBitrateEstimate(defaultMaxInitialBitrate)
        .build();
final AdaptiveTrackSelection.Factory videoTrackSelectionFactory =
        new AdaptiveTrackSelection.Factory(defaultBandwidthMeter, ...)

更多来源:

https://github.com/google/ExoPlayer/issues/3698

https://github.com/google/ExoPlayer/issues/676