之前有一些关于 stackoverflow 的讨论,但从我所看到的来看,没有真正回答这个问题。
我正在尝试实现流式音频 Web 应用程序。几乎与 WFMU 对他们的播放器所做的相同 (http://wfmu.org/html5/player.php)。
我从他们的流中能够弄清楚的是,他们正在将流通过管道传输到 PHP,不知道是什么格式,然后将其提供给 jPlayer 以将 HTML5 呈现给客户端。
他们的工作很棒,但我只是不确定他们如何将音频输入 PHP 以及他们在 PHP 中做了什么以 HTML5 可接受的格式呈现它。
任何想法将不胜感激。
看起来 PHP 脚本只是回显了一个音频文件 ( http://blogfiles.wfmu.org/DG/stream3.php )。
最佳答案
没有使用 PHP 的要求。对于客户而言,重要的是您发送适当的内容类型和实际内容。在这种情况下,audio/mpeg (MP3) 或适用于 Firefox 的 OGG(目前不适用于他们,但绝对可以)。
我怀疑他们使用 PHP 来中继流的原因是他们使用 SHOUTcast 作为流服务器。四处寻找,我发现了这个:http://mp3stream.wfmu.org:8000/
请注意,当您在浏览器中点击该 URL 时,您会看到基本信息页面。然而,如果你用音频播放器点击它,你就会得到流。 SHOUTcast 服务器根据 User-Agent 字符串决定这一点。如果它在 User-Agent 中的任何地方包含“Mozilla”,那么它会返回此页面。如果没有,则返回流。因此,对于 HTML5 音频播放器,它将使用浏览器的用户代理(包含 Mozilla)并且无法访问流。我怀疑他们的 PHP 脚本可以解决这个问题。
PHP 脚本将使用 cURL,使用它自己的用户代理(可以是任何东西,只要它不是“Mozilla”)连接到流媒体服务器,然后逐 block 中继到访问 PHP 的浏览器脚本。一 block 酸橙派。
关于php - HTML5 音频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5305974/