【问题标题】:How to control youtube video quality in exoplayer android?如何在 exoplayer android 中控制 youtube 视频质量?
【发布时间】:2021-02-26 15:17:19
【问题描述】:

我正在开发本文中提到的 Android ExoPlayer-https://betterprogramming.pub/android-exoplayer-play-videos-in-your-app-like-youtube-486853913397 但我无法控制视频质量(360p、480p 等)。怎么做?我需要完整的代码。

【问题讨论】:

标签: android exoplayer exoplayer2.x


【解决方案1】:

对于 ABR 流,ExoPlayer 将根据其对当前网络状况等的评估自动切换到最佳比特率 - 例如。如果它正在播放特定内容的高比特率并且确定网络繁忙并且其缓冲区没有跟上,它将切换到该内容的较低比特率。更多信息在这里:

如果您希望能够手动控制比特率,那么轨道选择器功能将允许您这样做。

您可以在此处查看更多信息(链接自 ExoPLayer GitHub):https://medium.com/google-exoplayer/exoplayer-2-x-track-selection-2b62ff712cc9

默认界面如下:

【讨论】:

    【解决方案2】:

    您可以通过创建自己的ABR算法来选择质量版本,例如yourOwnABR(),然后在文件AdaptiveTrackSelection.java的函数updateSelectedTrack()中调用它,如下所示。

    public void updateSelectedTrack(
      long playbackPositionUs,
      long bufferedDurationUs,
      long availableDurationUs,
      List<? extends MediaChunk> queue,
      MediaChunkIterator[] mediaChunkIterators) {
        ...
        int newSelectedIndex = yourOwnABR();
        ...
    

    【讨论】:

      猜你喜欢
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      相关资源
      最近更新 更多