1

这听起来像是一个奇怪的要求。

我有一个 PHP 脚本从 SoundCloud 中提取一个 mp3 流,并使用正确的标题重复该流以允许 WinAmp 播放该文件。但它只显示我运行脚本的本地 url。在有人问之前,我在回显之前将 ID3v1 注入到文件中。有没有办法为 WinAmp 提供来自 php 的元数据?

4

1 回答 1

0

澄清一下,您实际上是从 SoundCloud 代理 MP3 文件,并且您想将元数据嵌入其中?

Winamp 将在 HTTP 提供的 MP3 文件中提取 ID3 标记。但是,如果您使用的是 ID3v1,那么这些标签直到文件的最后才存在。如果您希望在不必下载整个文件的情况下识别文件,则必须使用通常位于文件开头的 ID3v2。(我实际上建议同时使用 ID3v1 和 ID3v2 以获得更广泛的播放器兼容性,但几乎所有东西都支持 ID3v2,所以这是您的选择。)

现在,还有另一种方法,但如果您使用此方法,下载时元数据将不会保存在文件中。您可以使用 SHOUTcast 样式的元数据。基本上,Winamp 和其他客户端(如 VLC)发送请求标头,Icy-MetaData: 1. 这告诉服务器它支持 SHOUTcast 样式的元数据。在您的服务器响应中,您将每 8KB 左右插入元数据。基本上,你想要我在这里详述的相反: https ://stackoverflow.com/a/4914538/362536

最后,简单地添加 ID3v2 标签会以最好的方式解决您的问题,但我想提一下替代选项,以防您需要它来做其他事情。

于 2014-04-03T13:14:15.607 回答