【发布时间】:2018-11-26 22:32:12
【问题描述】:
我正在使用 Exoplayer 流式传输 HLS 视频内容。默认情况下,AdaptiveTrackSelection 以低质量开始,当它检测到良好的互联网速度时,它会切换到高质量。我想以高质量开始播放器,然后它应该根据互联网速度而改变。提前致谢。
【问题讨论】:
标签: android exoplayer exoplayer2.x
我正在使用 Exoplayer 流式传输 HLS 视频内容。默认情况下,AdaptiveTrackSelection 以低质量开始,当它检测到良好的互联网速度时,它会切换到高质量。我想以高质量开始播放器,然后它应该根据互联网速度而改变。提前致谢。
【问题讨论】:
标签: android exoplayer exoplayer2.x
我相信您正在寻找的是对“最大初始比特率”的修改。这是您可以传递给BandwidthMeter 的参数。 BandwidthMeter 决定了您的带宽以及它将如何根据该信息选择轨道。如果你传递一个很大的数字作为这个参数,它会默认强制更高的比特率。目前默认是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, ...)
更多来源:
【讨论】: