我编写了一个脚本,可以实时输出MP3文件的30秒片段。如果要保存文件,使用类/库的其他选项之一可能是最好的。但是,如果您只想播放/下载预览,那么动态播放可能会更好。它肯定会为您节省硬盘空间。
这是代码,但在我的博客上可以找到更深入的解释。
$getID3 = new getID3();
$id3_info = $getID3->analyze($filename);
list($t_min, $t_sec) = explode(':', $id3_info['playtime_string']);
$time = ($t_min * 60) + $t_sec;
$preview = $time / 30; // Preview time of 30 seconds
$handle = fopen($filename, 'r');
$content = fread($handle, filesize($filename));
$length = strlen($content);
if (!$session->IsLoggedIn()) {
$length = round(strlen($content) / $preview);
$content = substr($content, $length / 3 /* Start extraction ~10 seconds in */, $length);
}
header("Content-Type: {$id3_info['mime_type']}");
header("Content-Length: {$length}");
print $content;