【问题标题】:stream / buffer large audiofiles with PHP使用 PHP 流/缓冲大型音频文件
【发布时间】:2015-02-22 14:08:28
【问题描述】:


我正在尝试流式传输音乐以在之后播放。
这不是下载,而是将 mp3 文件从源文件直接流式传输到另一个页面上的 <audio> 标记。

    到目前为止我尝试过的事情:
  1. 使用 Web 音频 API 直接从 URL (audio.src=url->audio.load())
    -->"text/html 不是支持”。
    -->将 MP3 类型添加到 .htaccess 文件没有帮助(是的,我已经尝试将其移动到我的 MP3 所在的目录。)
    -->我必须这样做手动使用 PHP,所以我可以使用内容类型标题。
  2. 使用 JQuery、AJAX 和 PHP 文件从 MySQL 数据库上的 blob 流式传输数据。
    -->它不缓冲文件,而是完全加载它,这需要几分钟。 30 秒。
    --> 对于安全性不那么重要的简单音频流来说,速度太慢而且可能有点太复杂
  3. 使用 JQuery、AJAX 和 PHP 文件从我的服务器上的目录流式传输数据
    --> 与 2 相同。(此外,它不再那么安全了)

我在 .htaccess 文件中使用的代码是

AddType audio/mpeg3 .mp3
AddType audio/mp3 .mp3
AddType audio/x-mpeg3 .mp3

我有 2 种方法可以解决我的问题,所以我有 2 个问题
1. 如何告诉我的服务器将 MP3 文件流式传输为音频/mpeg3 而不是文本/html(在情况 1 中)?
2. 如何缓冲音频流(在情况 2 或 3 中),以便访问者不必等待 30 多秒?


欢迎指正。

【问题讨论】:

  • 您应该检查 rtmp 协议。此协议文件未完全下载。在您观看时下载。下载文件后在http协议中执行。
  • 您确定您的 mp3 文件正常吗?不如直接用浏览器打开看看能不能玩?

标签: php ajax audio web-audio-api


【解决方案1】:

好的,对不起。方式1做工作。至少如果您不使用 .htaccess 文件中的 FileMatch 规则来锁定除图像或页面之外的每个文件或目录,并且忘记将音频文件包含到允许规则中。

一张脸是不够的

【讨论】:

    猜你喜欢
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    相关资源
    最近更新 更多