【发布时间】:2010-12-05 20:56:36
【问题描述】:
我想用html5的新标签播放wav文件(目前只有FF支持)
https://developer.mozilla.org/En/HTML/Element/Audio
我正在使用 php 的 readfile 命令从硬盘中取出 wav 文件,并将其写入 http 响应。
但它不起作用。 Firefox 中的音频小部件只是不断运行加载动画。
标签似乎很好,因为我可以在它的 src/source 中放置一个不同的 url,它工作正常。我可以使用标签下载文件并使用 Quicktime 播放。
所以我想可能是它的一个/所有内容标题。
使用 FF 扩展 httpfox 我可以看到这些响应标头从服务器到达:
(Status-Line) HTTP/1.1 200 OK
Date Mon, 12 Oct 2009 03:04:33 GMT
Server securesauce
Cache-Control private
Expires Mon, 26 Jul 1997 05:00:00 GMT
Pragma private
Vary Accept-Encoding
Content-Encoding gzip
Content-Length 8217
Keep-Alive timeout=15, max=100
Connection Keep-Alive
Content-Type audio/x-wav
所以一切看起来都符合我的预期。我在脚本中明确设置的唯一标头(其他标头在应用程序的其他位置设置)是:
Cache-Control private
Pragma private
Content-Type audio/x-wav
当我尝试不同的 wav 文件(互联网上随机一个)时,httpfox 没有列出任何响应标头。
因为它是一个发送内容的 php 文件,所以我不能只发送任何标题,因为我至少必须发送内容类型。
有什么想法吗?
来源摘录:
header('Cache-Control: private');
header('Pragma: private');
header("Content-Type: $contentType");
readfile($filepath);
exit;
【问题讨论】:
标签: php audio html wav http-headers