【问题标题】:Stream audio files in php site在 php 站点中流式传输音频文件
【发布时间】:2015-04-17 12:26:30
【问题描述】:

我有一个我正在开发的 php 站点,我将一些音频文件上传到我服务器上的一个文件夹中,并将它们的位置 URL 保存在我的数据库中,现在我想在我的一个页面中调用音频文件并流式传输它,我的主要问题是我可以用来流出的代码行,让它在移动浏览器上也能正常工作。谢谢你帮助我。

【问题讨论】:

  • PHP 无法流式传输音乐,您需要类似 flash、html 或 javascript/jquery 之类的东西来为您完成此类工作,可能值得使用一个通用的基于 Web 的音乐播放器,它将呈现在HTML 并让 PHP 回显带有指向您要播放的音频文件的链接的 HTML
  • @Sephedo PHP 当然可以流式传输音乐,并且在许多网站上都使用它。
  • @Jeroen Flamman 谢谢伙计,但我有点困惑,可以帮助我链接到你上面写的 php 代码的 JavaScript 吗?感谢您的帮助。
  • @Suleimanabdulrazaq 它可以传递文件,但是如果您在浏览器控制之后,那么您需要其他东西来执行此操作
  • 还有别的吗?你具体是什么意思?

标签: php audio-streaming


【解决方案1】:

在 PHP 方面,这样的事情应该可以工作 - 假设您参考 mp3:

   header('Content-Type: audio/mpeg');
   header('Content-length: ' . filesize('/path/to/your/file.mp3'));
   print file_get_contents('/path/to/your/file.mp3');

然后,您需要在前端寻找能够实际播放文件的基于 Javascript 的解决方案。你说,它需要是跨平台的——这更像是一个前端(Javascript)的挑战,而不是可以由 PHP 控制的东西。

【讨论】:

  • 此时最好只使用您的网络服务器...如果这是您的方法,则无需脚本。
  • 不完全正确。使用网络服务器意味着公开 mp3。使用脚本意味着将 mp3 隐藏在 Web 根目录下,并使其仅对授权用户可用。
  • 如果发生了这种情况,我会同意,但在本例中并非如此。此外,您仍然可以使用 sendfile 或类似的方法,在完成身份验证后将工作交给 Web 服务器,这样效率更高。
  • 嗯,我经营一家唱片公司,有大约 400 个作品需要艺术家在我们的后端进行管理。我建议的代码 sn-p 对我们来说很好,所有音频都可以在登录时预览/播放,我可以放心入睡,确保我的艺术家的 mp3 不会被抢购......我相信还有更多几乎所有事情的有效方法..随时回答这个人的问题。
  • 毫无疑问,您的方法实际上是我通常向人们建议的。 (stackoverflow.com/a/15480380/362536) 我只是想非常清楚人们需要什么和不需要什么,因为人们总是在不理解的情况下从 StackOverflow 复制和粘贴代码。同样在您的情况下,如果您将内容保存在 PHP 中,您将从 readfile() 中受益。这比将整个文件加载到内存中然后输出要高效得多。
猜你喜欢
  • 2012-08-07
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-02
  • 1970-01-01
  • 2017-05-09
  • 2017-07-09
相关资源
最近更新 更多