使用PHP流式传输/缓冲大型音频文件


stream / buffer large audiofiles with PHP


我试着用流媒体播放音乐
这不是下载,而是从源文件到另一个页面上的<audio>标签的mp3文件的直接流

    到目前为止我已经尝试过的事情:
  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

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


欢迎更正。

好的,对不起。方式1确实有效。至少如果你没有在.htaccess文件中使用FileMatch规则来锁定除图像或页面之外的每个文件或目录,并且忘记将音频文件包括在允许规则中

一个手掌是不够的