Java Exoplayer是否可以在不下载完整文件的情况下播放MP3? 问题

Java Exoplayer是否可以在不下载完整文件的情况下播放MP3? 问题,java,android,kotlin,firebase-storage,exoplayer,Java,Android,Kotlin,Firebase Storage,Exoplayer,如果一个mp3文件被保存到云上,即:,那么该文件是否可以在Android上通过流媒体传输,而无需下载完整的文件大小?如果mp3可以直接从云存储流式传输,那么由于文件本身没有被下载,在流式传输中使用的文件内存大约占多大比例 目的是避免数据传输成本高于数据存储成本 可能的解决办法 根据这篇文章,看起来数据源可以在不下载文件的情况下处理托管的mp3文件。但是,我不确定这里是否有人能证实这一点。谢谢ExoPlayer团队的Oliver Woodman解决了这个问题 如果mp3文件保存到云,即Fireba

如果一个mp3文件被保存到云上,即:,那么该文件是否可以在Android上通过流媒体传输,而无需下载完整的文件大小?如果mp3可以直接从云存储流式传输,那么由于文件本身没有被下载,在流式传输中使用的文件内存大约占多大比例

目的是避免数据传输成本高于数据存储成本

可能的解决办法
根据这篇文章,看起来数据源可以在不下载文件的情况下处理托管的mp3文件。但是,我不确定这里是否有人能证实这一点。谢谢ExoPlayer团队的Oliver Woodman解决了这个问题

如果mp3文件保存到云,即Firebase存储/Google云存储,是否可以从Exoplayer流式传输该文件,而无需下载完整的文件大小

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

如果mp3可以直接从云存储流式传输,那么由于文件本身没有被下载,在流式传输中使用的文件内存大约占多大比例

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

请注意,虽然提前缓冲较短时间可以节省数据传输成本,但它也会增加重新缓冲的可能性,因为播放器将无法解决临时网络连接问题