我正在开发一个用户可以在其中流式传输或下载视频的应用程序。我使用ExoPlayer 2.9.6实现了相同的功能。目前,当我尝试切换质量时播放下载的内容时,它仅显示下载的曲目。我知道它的默认行为。我的要求是也显示所有其他可用的质量(不能脱机使用),并且如果网络可用,用户应该能够切换到其他质量。
有什么办法可以做到这一点?
答案 0 :(得分:0)
我的意思是,您想让ExoPlayer使用两个单独的内容源-一个是本地文件,另一个是在线流。
我想您会下载较低质量的曲目,以减少下载大小并在拥有带宽的情况下切换到较高质量?下载的文件需要以HLS或DASH流格式进行分段,我想这是最简单的方法。
我不认为这是ExoPlayer(AFAIK)的标准功能,但您可以使用自定义TrackSelector来实现:
来自媒体源的所有可用曲目都将传递到此,但是在您的情况下,您将有两个来源,因此需要添加逻辑以从另一个来源获取曲目信息,然后决定使用哪个。
这是一个有趣的用例,尤其是要实现从本地到平稳流的过渡,因此值得分享您的方法,也许其他有类似要求的人也会考虑为此付出努力。