如果将mp3文件保存到云中,即:Firebase Storage,是否可以在Android上使用Exoplayer流式传输该文件而无需下载完整文件大小?如果mp3可以直接从Cloud Storage流传输,那么由于不下载文件本身,大概在流传输中使用了多少百分比的内存?
目标是避免比数据存储成本贵的数据传输成本。
根据此中级帖子Downloading Streams,数据源似乎可以处理托管的mp3文件,而无需下载该文件。但是,我不确定是否有人可以确认那会很棒。
答案 0 :(得分:0)
感谢ExoPlayer团队的Oliver Woodman解决了this question on Github!
如果将mp3文件保存到云中,例如:Firebase Storage / Google Cloud Storage,是否可以从Exoplayer流式传输该文件而无需下载完整文件大小?
是的。这就是使用ExoPlayer播放流时默认情况下发生的情况。
如果mp3可以直接从Cloud Storage流传输,那么由于不下载文件本身,大概在流传输中使用了多少文件内存?
您可以通过实例化自己的DefaultLoadControl进行配置,您可以在构建播放器时将其传递给ExoPlayerFactory.newSimpleInstance。如果需要更多控制,也可以从头开始实现自己的LoadControl。
请注意,虽然缓冲时间较短,可以节省数据传输成本,但由于播放器无法解决临时的网络连接问题,因此也使重新缓冲的可能性更高。