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

时间:2014-02-20 19:35:06

标签: 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测试它时,它第一次工作。然后我刷新了页面,文件甚至不会加载。我再次测试了它,它在我最终出现在音频标签之前花了三倍的时间。所以在Chrome中它起作用,但我必须保持清爽,这是我买不起的。

我也在Internet Explorer中对此进行了测试,令我惊讶的是,它完美无缺。每当我刷新我的页面时,我的音频文件都被链接起来,我不需要在音频加载之前等待; IE上没有错误。

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

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

如果你们能给我某种解决方案,我将非常感激。非常感谢你们。

1 个答案:

答案 0 :(得分:2)

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

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

  2. 删除链接的末尾

  3. e.g。如果你有:

    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% ...