我有以下代码来获取 MP3 文件的内容并根据需要设置标题(?):
$file = fopen("test.mp3","r");
$content = fread($file,filesize("test.mp3"));
header("Content-Type: audio/");
header("Content-Length: " .(string)(filesize("test.mp3")) );
fclose($file);
echo $content;
为了播放文件,我使用了 audiojs ( http://kolber.github.io/audiojs/ )。我的 PHP 文件像普通 MP3 文件一样充当数据源。
audiojs 能够播放此 MP3 文件,但是您可以直观地看到播放器正在缓冲,但您无法跳转到 MP3 文件中已经缓冲的位置。对于真正的 MP3 文件,这是可能的。
为什么不使用充当 MP3 文件的 PHP 文件呢?是 PHP 还是 audiojs 的原因?
我还尝试了以下代码:
// Try and open the remote stream
if (!$file = fopen("test.mp3","r")) {
// If opening failed, inform the client we have no content
header('HTTP/1.1 500 Internal Server Error');
exit('Unable to open remote stream');
}
$stream = stream_get_contents($file);
// It's probably an idea to remove the execution time limit - on Windows hosts
// this could result in the audio stream cutting off mid-flow
set_time_limit(0);
// Inform the client we will be sending it some MPEG audio
header("Content-type: audio");
header("Content-Length: ".(string)(filesize("test.mp3")) );
header("Content-transfer-encoding: binary");
// Send the data
fpassthru($stream);
两者都不起作用:(有机会吗?我真的需要这个功能来处理权限主题。或者除了.htaccess之外还有其他选择吗?
卡坦2