php - 将音频文件从 DropBox 流式传输到网站

标签 php audio dropbox html5-audio audio-streaming

前几天我问了一个关于流式音频的问题 ("Stream audio files from my home computer to my website "),每个人的回答都很好。

我被说服使用像 DropBox 这样的云存储系统,而不是使用我的家用电脑作为服务器,结果证明它可以工作,但不是我想要的方式......让我解释一下。

正如我在上一篇文章中所述,我正在使用 php 通过从 SQL 数据库中提取数据来将音频文件回显到我的 HTML 中。 echo 将该数据放入一个 HTML 音频标签中,该标签具有指向我的 DropBox 帐户(公开共享)的 URL,因此它全部连接。我的代码如下所示:

<audio controls>
    <source src="https://dl.dropboxusercontent.com/u/123456789/<?php echo $file; ?>.mp3" type="audio/mpeg">
</audio controls>

变量 $file 是我数据库中音频文件的名称;所以如果我的数据库显示“track01”,那么我的代码将如下所示:

<audio controls>
    <source src="https://dl.dropboxusercontent.com/u/123456789/track01.mp3" type="audio/mpeg">
</audio controls>

这有效……但效率不高。当我在 chrome 中测试它时,它第一次工作。然后我刷新页面,文件甚至不会加载。我又测试了一遍,刷了三次才终于出现在audio标签里。所以在 chrome 中它可以工作,但我必须保持刷新,这是我负担不起的。

我还在 Internet Explorer 中对此进行了测试,令我惊讶的是,它运行得非常好。每次我刷新我的页面时,我的音频文件都会链接,我不需要在音频加载之前等待; IE 上没有错误。

最后,我在 Safari、Opera 和 Firefox 中测试了我的网站,文件显示在 HTML 中,但要么加载时间太长,要么根本没有加载。

我的问题是:这是我从 DropBox 链接时的问题吗?这是处理不同浏览器的问题吗?我可以解决这个问题吗?还有其他人处理过类似的问题吗?我可以使用一个替代的云存储站点,它允许我使用我的方法进行流式传输,该方法是免费的,并且允许我加载超过 2 GB 的音频文件吗?我仍然可以使用某种方法通过我自己的服务器以某种方式流式传输我的文件吗?我怎么强调我上面列出的方法都有效,但它只是在文件的初始加载方面存在问题。

如果你们能给我一些解决方案,我将非常感激。非常感谢大家。

最佳答案

这应该有效。 您必须按照以下步骤操作:

  1. 创建文件的共享链接,然后将链接中的 www 更改为 dl。在您的嵌入代码中使用该新链接。

  2. 去掉链接的结尾

例如如果你有:

https://www.dropbox.com/s/bt44iw272m6ga04/O%20Botic%C3%A1rio%20-%20Dia%20dos%20Pais%20novo%20perfume ...

您必须更改第一个粗体部分并删除第二个:

https://dl.dropbox.com/s/bt44iw272m6ga04/O%20Botic%C3%A1rio%20-%20Dia%20dos%20Pais%20novo%20perfume% ...

关于php - 将音频文件从 DropBox 流式传输到网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21917766/

相关文章:

php - Cakephp 3在父类的beforeFilter中重定向

ios - 它是什么编解码器

php - ffmpeg 将多种音频格式转换为 mp3

java - Android 和 Dropbox 同步库

php - 在 FastCGI 上从 PHP 运行后台进程

PHP 事件处理器

html - 流式传输音频文件与静态服务

java - 通过 dropbox 同步 eclipse 工作区 - 移动 .metadata 文件夹

android - 设置 Android 项目以使用 git

php - 根据另一个表中的值从一个表中选择值