曲ファイルが PHP ファイルによって出力されている場合、ユーザーがシーク バーを使用して曲をナビゲートできないという jPlayer オーディオ プレーヤーのバグがあると思います。私のhtaccessファイルには、次の行があります。
RewriteRule ^stream/(.*)/([0-9+]).mp3?$ modules/stream.php?a1=$1&a2=$2
次に、stream.php ファイルで、設定したヘッダー データを次に示します。
$fsize = filesize($path);
$shortlen = $fsize-1;
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false); // required for certain browsers
header("Content-Type: audio/mpeg");
header("Content-Disposition: inline; filename=" . $file . ";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $fsize);
header('Content-Range: bytes 0-'.$shortlen.'/'.$fsize);
header('X-Pad: avoid browser bug');
header("Content-Length: " . filesize($path));
readfile("$path");
exit();
通常、mp3 へのリンクは次のようになります。
www.website.com/stream/song/100/
シークバーで曲をナビゲートすることを除いて、すべてが jPlayer で機能するようです。URL を mp3 への直接パスに変更すると、シーク バーが再び機能し始めます。この問題を解決する方法を知っている人はいますか?
編集: Mac OSX 10.8 の Safari v6 では問題は発生しません。Chrome v27で発生します