这个问题可能已经被问过很多次了。我到处搜索,但找不到正确的答案。我在项目中使用ExoPlayer播放HLS视频。
我想给用户选择视频带宽的选项。像YouTube一样。有人知道如何使用ExoPlayer做到这一点吗?
从ExoPlayer问题跟踪器中:
ExoPlayer当前选择主播放列表中列出的第一个变体。如果我没记错的话,这就是Apple建议/指定的正确客户端行为。如果要以最低的质量开始播放,从技术上来说,应该让服务器生成最先列出的最低质量的主播放列表。
综上所述,我们确实同意,相对于建议的行为,客户端在本地进行初始变量选择更有意义。我们将把HLS移到ExoPlayer V2中使用FormatEvaluator,它将对初始选择(以及通常的自适应算法)提供更多控制。
作为解决方案,此注释:
看看AdaptiveTrackSelection.Factory。它的参数可以为您的情况提供足够的自定义。
我认为这应该为您提供所需的答案,否则它将引导您朝着正确的方向发展。
请注意,您必须提供较低质量的流才能使用此流。如果您只有高清视频,则ExoPlayer不能对视频进行降采样,而不是其工作,也不是它的预期用途。提供视频时,ExoPlayer只能同步并启用多种分辨率的视频之间的平滑过渡。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句