是否可以手动更改 exoplayer 的分辨率?

Is it possible to change resolution of exoplayer manually?

我正在开发一个使用 Exoplayer2 进行 HLS 视频流的项目。自适应流媒体在我的 exoplayer 中运行良好,但我想实现一项功能,用户可以从 UI 手动更改视频的分辨率(144p、240p、480p..)。我从 TrackGroup API 得到了播放视频的分辨率。但不知道如何手动将分辨率值设置到播放视频中。 谢谢

您可以使用 Exoplayer2 中的曲目 select 或功能来执行此操作 - 它实质上限制了播放器中的自适应比特率 selection 功能可以 select 来自的曲目。

它只能select来自流索引文件,清单文件中的可用曲目。因此,您对 resolutions/bit 速率的选择仅限于流提供者提供的任何比特率、分辨率等 - 即用户不能只选择他们想要的任意比特率或分辨率,如果它不是一个清单文件(视频轨道索引文件)中可用的。

要只有一首曲目,您只需允许那一首即可。

此功能包含在演示中 - 以下是来自他们的博客之一的屏幕截图示例:

更多关于轨道 selection 的详细信息(也链接自 Exoplyar GitHub 页面):https://medium.com/google-exoplayer/exoplayer-2-x-track-selection-2b62ff712cc9