0

listen.phpから要求されたread_file.phpを介して*.mp3ファイルをストリーミングしています。

read_file.php-バイト範囲を正しく処理し、ファイルの正しいバイト範囲を正しいヘッドレスで提供します。

listen.php-srcとしてread_file.php?id=XXを持つHTML5オーディオ要素が含まれています

XX.mp3-チャンクで提供したい大きなmp3ファイル。

HTML5 Audio要素によってトリガーされたリクエストは、リクエストヘッダーでRequestedバイト範囲を常に送信するとは限りません。最初のロード時に、ヘッダーには「Byte-Range:0-」が含まれます。応答ヘッダーはこれを確認し、ファイルのチャンクを提供します。

結果は次のとおりです。

シークアヘッドは期待どおりに機能します。NULLバイト範囲を処理するためにread_file.phpでロジックを選択する方法に応じて、(1)キャンセルされるか、(2)ファイルの最初からやり直します。

何か指針/考え、またはあえて私はそれを言う...答え?

関連する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 に答える