Android Exoplayer AdaptiveTrackSelection 需要以高质量启动视频

标签 android exoplayer exoplayer2.x

我正在使用 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, ...)

更多来源:

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

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

关于Android Exoplayer AdaptiveTrackSelection 需要以高质量启动视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53391740/

相关文章:

android - AmbiguousViewMatcherException Espresso

android - Android:编译时出错:我将Exoplayer库从r2.5.3更改为2.9.0

android - exoplayer- 自动更改质量不起作用 (hls)

android - 在 Exoplayer 2 android 中使用 ClearKey DRM Schema 时出现播放错误

android - 让MediaPlayer在启动新的Intent时继续播放

android - 测量屏幕打开了多长时间

android - Exoplayer 正在使用 PageTransformer 移除预览

java - 如何更改 Android 中 Exoplayer 中的音轨

android - 在 Java Android 中获取 GIF 持续时间的最佳方法是什么?

android - 我们可以在 android 中使用服务而不是推送通知吗?