字节范围不在HTML5音频的请求标头中

时间:2013-02-28 17:28:51

标签: apache google-chrome audio-streaming html5-audio

我正在通过read_file.php传输一个* .mp3文件,由listen.php请求。

read_file.php - 正确处理Byte-Ranges,并使用正确的headres提供正确的文件范围。

listen.php - 包含一个带有read_file.php的HTML5 Audio元素?id = XX作为src

XX.mp3 - 一个大型的mp3文件我希望以大块的形式提供。

HTML5 Audio元素触发的请求似乎并不总是在请求标头中发送请求的字节范围。在第一次加载时,标题包含“字节范围:0-”。响应标头看到了这个,并提供了一大块文件。

结果是:

向前搜索按预期工作。向后搜索(1)被取消,或者(2)在文件的开始处开始,这取决于我如何选择read_file.php中的逻辑来处理NULL字节范围。

任何指针/想法,或者我敢说...答案?

相关Chrome错误:http://pastebin.com/raw.php?i=2pBjnF00

1 个答案:

答案 0 :(得分:0)

对于后代,这里是最终(工作)形式的标题:

header("Content-Type: audio/mpeg");
header('Cache-Control: '); //blank for IE
header('Pragma: ');   // blank for IE
header('Accept-Ranges: bytes');
header('Content-Length:'.$length);
header("Content-Range: bytes $begin-".$end."/$length");
header("Content-Disposition: inline; filename=$filename");
header("Content-Transfer-Encoding: binary");
header("Last-Modified: $time");

header('Connection: close');