0

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

read_file.php - 正确处理字节范围,并提供具有正确标题的文件的正确字节范围。

listen.php - 包含一个 HTML5 音频元素,其中 read_file.php?id=XX 作为 src

XX.mp3 - 我希望分块提供的大型 mp3 文件。

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

结果是:

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

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

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

4

1 回答 1

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');
于 2017-07-31T20:35:23.030 回答