php - HTML5 音频流

标签 php html audio-streaming

之前有一些关于 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/

相关文章:

php - 嵌套正则表达式...我一无所知!

php - 获取 404 未找到 Laravel POST 请求

html - Sprite css 菜单 - 无法在菜单上对齐 div 中的大 Logo

html - 为什么包装器元素会自动增加?

html - 我如何使用 HTML5 播放 shoutcast/icecast 流?

php - 插入新记录和更新 MySQL 表记录。- PHP

javascript - 在没有 HTTP 的情况下将结构化数据从 PHP 发送到 Node.js?

java - <使用 Jsoup 解析 html 时缺少输入值?

android - 从 Shoutcast 流 Android 获取元数据

javascript - HTML5 音频缓冲区不断增加 JS 堆大小