【发布时间】:2012-03-09 05:11:40
【问题描述】:
所以,我有一个 php 脚本,可以将我的 mp3 文件发送到 html5 的音频标签。问题是在 Safari 中,audio.duration 标签不起作用并返回无穷大。如果我将音频的 src 直接设置为文件,一切正常。但我不希望我的用户看到文件的路径。
无论如何,这就是我从 PHP 发送标头的方式。
我已经尝试过使用内容范围。这没有帮助。
if (file_exists($filename)) {
$fp = fopen($filename, 'r');
$etag = md5(serialize(fstat($fp)));
fclose($fp);
header("Content-Transfer-Encoding: binary");
header("Content-Type: audio/mpeg");
header('Content-Length: ' . (string)(filesize($filename)));
header('Content-Disposition: inline; filename="' . $filename . '"');
header('X-Pad: avoid browser bug');
header('Cache-Control: no-cache');
header('Etag: ' . $etag);
//GetContentRange($filelength);
readfile($filename);
exit;
}
else {
header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
echo "no file";
}
【问题讨论】:
标签: php safari mp3 html5-audio