这个问题可能已被多次询问过。我到处搜索但找不到正确的答案。我在我的项目中使用ExoPlayer来播放HLS视频。
我想为用户提供选择视频带宽的选项。像YouTube那样的东西。任何想法如何使用ExoPlayer实现这一目标?
答案 0 :(得分:3)
来自ExoPlayer问题跟踪器:
ExoPlayer当前选择主服务器中列出的第一个变体 播放列表。如果我没记错的话,这就是Apple 建议/指定正确的客户端行为。如果你想开始 在质量最低的情况下,您应该在技术上拥有您的服务器 生成首先列出质量最低的主播放列表。
除此之外,我们同意对客户更有意义 在本地进行初始变量选择,而不是 推荐的行为。我们将移动HLS以使用FormatEvaluator 在ExoPlayer V2中,它将提供对初始值的更多控制 选择(以及一般的自适应算法)。
作为解决方案,这条评论:
看看AdaptiveTrackSelection.Factory。它的参数可能 为您的案例提供足够的自定义。
我认为这应该能为您提供所需的答案,或者它将指导您朝着正确的方向前进。
请注意,您必须提供质量较低的流才能使用此功能。 如果您只有高清视频,ExoPlayer无法对视频进行缩减,这不是它的工作,也不是它的目的。 ExoPlayer只能在提供视频时以多种分辨率同步并启用平滑过渡。