如何在访问时下载文件内容

How to download file content as it gets accessed

是否可以创建空的 mp3 文件,然后当 mp3 播放器尝试播放该文件时,mp3 文件内容会从远程服务器下载?

基本上,我希望任何普通的 mp3 播放器都能够从远程服务器进行流式传输,就像从本地文件播放一样。

如果空文件策略不行,有没有其他方法可以让普通mp3播放器播放远程mp3文件?

普通的 mp3 编解码器并不是专门为处理这个问题而设计的。它将以磁盘速度解码,一旦到达数据末尾,它就会崩溃(因为文件的其余部分无效)。 概念 数据未完全存储在磁盘上并不是您对文件系统所期望的。他们也不希望文件大小在阅读时发生变化。

也就是说,如果您直接从 Web 服务器播放 mp3 可能是可行的。完全可以预料,获取所有数据需要时间。但在这种情况下,实际上应该阻塞 OS 的读取顺序。但同样有可能 OS 会在允许读取第一个字节之前完全下载文件(可能是临时目录)。

要进行正确的流式传输,您可能需要一种专门的格式。诸如将同一数据的多种质量(同一图像或视频的高分辨率版本)一个接一个地放置之类的东西。这种技术通常称为 Interlacing.