我正在使用 Exoplayer 来流式传输 HLS 视频内容。默认情况下,AdaptiveTrackSelection 以低质量开始,当它检测到良好的互联网速度时,它会切换到高质量。我想启动高质量的播放器,然后它应该根据互联网速度而改变。提前致谢。
最佳答案
我相信您正在寻找的是“最大初始比特率”的修改。这是一个可以传递给 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, ...)
更多来源:
关于Android Exoplayer AdaptiveTrackSelection 需要以高质量启动视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53391740/