Exoplayer可以流mp3而不下载完整文件吗?

时间:2018-10-30 20:47:19

标签: firebase-storage exoplayer

问题

如果将mp3文件保存到云中,即:Firebase Storage,是否可以在Android上使用Exoplayer流式传输该文件而无需下载完整文件大小?如果mp3可以直接从Cloud Storage流传输,那么由于不下载文件本身,大概在流传输中使用了多少百分比的内存?

目标是避免比数据存储成本贵的数据传输成本。

可能的解决方案

根据此中级帖子Downloading Streams数据源似乎可以处理托管的mp3文件,而无需下载该文件。但是,我不确定是否有人可以确认那会很棒。

1 个答案:

答案 0 :(得分:0)

感谢ExoPlayer团队的Oliver Woodman解决了this question on Github

如果将mp3文件保存到云中,例如:Firebase Storage / Google Cloud Storage,是否可以从Exoplayer流式传输该文件而无需下载完整文件大小?

  

是的。这就是使用ExoPlayer播放流时默认情况下发生的情况。

如果mp3可以直接从Cloud Storage流传输,那么由于不下载文件本身,大概在流传输中使用了多少文件内存?

  

您可以通过实例化自己的DefaultLoadControl进行配置,您可以在构建播放器时将其传递给ExoPlayerFactory.newSimpleInstance。如果需要更多控制,也可以从头开始实现自己的LoadControl。

     

请注意,虽然缓冲时间较短,可以节省数据传输成本,但由于播放器无法解决临时的网络连接问题,因此也使重新缓冲的可能性更高。