【发布时间】:2011-03-15 00:31:37
【问题描述】:
我正在构建一个在 mySQL 中存储一些 mp3 音频文件的站点。目前只有 5 个,所以效率根本不是问题。
目前,我仍在尝试制作不需要其他文件格式的跨浏览器/平台解决方案。
我有一个 PHP 脚本,它检索 mp3 二进制数据并将适当的标头发送到浏览器。然后可以通过指定音频元素(无论是音频还是嵌入或其他)的 src 来检索文件,如下所示:src="retrieve_audio.php?uniqueAudioID=[PHP 变量识别文件]"。 retrieve_audio php 文件获取 URL 中提供的数据库 ID 并检索数据,将其与标头一起发送到请求页面...
这适用于 Safari 中的音频和嵌入标签。适合嵌入 IE 6、7 和 8。
出于某种原因,Safari 将其称为流 - 可能是因为未提供文件的大小 - 并且无论使用何种标签(音频或嵌入),控件都不允许清理文件。 IE 似乎可以理解检索到的文件的长度,尽管它没有明确给出。
不过,真正的问题是 Firefox、Opera 和 Chrome。这些似乎根本不理解这一点。 FIrefox 显示一个控件几秒钟,然后显示一个 X,如 - 我无法播放这个...我知道 Firefox 中的标签存在问题。嵌入也是如此。 Opera 和 Chrome 要么不显示任何内容,要么显示一个空白的白色方块。
有什么建议吗?
我从没想过我会在 IE 中工作的东西上与 Firefox 搏斗!
我们将不胜感激。
M
【问题讨论】:
-
我解决了 Firefox 和 Opera 的问题,目前不太关心 Chrome。但是 - 我想知道如何让 SAfari 承认内容不是流,而是有限数量的数据。我现在提供内容长度标头 - Safari 还需要什么来确认音频文件的长度?谢谢M