所以,我正在编写自己的 Shoutcast 协议实现。进展相当顺利。我已经把它完全写好了,当我的互联网很好时,我不必暂停缓冲,流就可以完美地工作。有时它甚至会随机出现故障。尽管有这个问题,它改变了歌曲和一切。但是一旦我开始缓冲,一切都会走下坡路。音频失真,直到我停止并重新启动客户端上的连接。我认为造成这种情况的原因是我发送的 icy-mettaint 标头已关闭(在客户端),即使它是从服务器正确发送的。Shoutcast 和 Icecast 等应用程序如何弥补这一点?我认为这与 MTU 有关,但我一生都无法弄清楚。每次发送的音乐块大小完全相同。元数据还应该与大多数客户端中的解析器兼容。这是 GitHub 上的项目: https://github.com/ClayFreeman/Radio-PHP