是否可以手动更改 exoplayer 的分辨率?
Posted
技术标签:
【中文标题】是否可以手动更改 exoplayer 的分辨率?【英文标题】:Is it possible to change resolution of exoplayer manually? 【发布时间】:2017-10-19 02:30:20 【问题描述】:我正在开发一个将 Exoplayer2 用于 HLS 视频流的项目。自适应流在我的 exoplayer 中运行良好,但我想实现一个功能,用户可以从 UI 手动更改视频的分辨率(144p、240p、480p ..)。我从 TrackGroup API 获得了播放视频的分辨率。但不知道如何手动将分辨率值设置到播放视频中。 谢谢
【问题讨论】:
首先,它不是一个比特率,它是一个分辨率。至于你的问题,经过一番研究,我会尽力提供帮助。 好的,很抱歉,我没有时间完全提供帮助,但这里是关于切换曲目的问题(功能请求)。 github.com/google/ExoPlayer/issues/676 我认为这就是你要找的。好像已经修复了 【参考方案1】:您可以使用 Exoplayer2 中的轨道选择器功能来做到这一点 - 它实质上限制了播放器中的自适应比特率选择功能可以选择的轨道。
它只能从流索引文件,清单文件中的可用曲目中选择。因此,您对分辨率/比特率的选择仅限于流提供商提供的任何比特率、分辨率等 - 即用户不能只选择他们想要的任意比特率或分辨率,如果它不是其中之一清单文件(视频轨道索引文件)中可用的。
要只有一首曲目,您只需允许那首曲目。
此功能包含在演示中 - 以下是他们的博客中有关此功能的示例屏幕截图:
这里有更多关于曲目选择的详细信息(也链接自 Exoplyar GitHub 页面):https://medium.com/google-exoplayer/exoplayer-2-x-track-selection-2b62ff712cc9
【讨论】:
你能提供一些示例代码来帮助实现它吗?以上是关于是否可以手动更改 exoplayer 的分辨率?的主要内容,如果未能解决你的问题,请参考以下文章
ExoPlayer - 在 DefaultTimeBar 中更改拇指
ExoPlayer 无法播放 Adobe 实时流编码器流式传输的音频/视频 (RTMP)