我的问题很简单:如何输出可搜索的PHP的mp3?我相信我有适当的头设置,我尝试了readfile()和fopen()因为我的研究让我相信readfile()不支持byteranges和fopen()。但是,我真的不明白如何使用或设置字节范围,只是我显然需要。我正在通过jPlayer播放这首歌并且这首歌很好,但它不可寻找。换句话说,您不能通过单击搜索栏上的不同位置来跳过该歌曲。
以下是输出mp3文件的代码:
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, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
header("Content-Disposition: inline; filename=" . $file . ";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($path));
//readfile("$path");
$music = fopen($path, 'r');
fseek($music, 0);
fpassthru($music);
exit();
如果我需要读取Range标题,我该怎么做?
答案 0 :(得分:1)
我花了好几天试图解决同样的问题。我还没有破解它,但我注意到了这一点。
Mp3s没有向前跳过(由于快速抓住第一个字节然后再回到其余部分) 然而,soundcloud流(它们是mp3)让我跳过(当通过同一个播放器播放时)
我怀疑你可能会在soundcloud标题中找到解决方案(因为它们以某种方式破解了它)。