如何在PHP中自动裁剪mp3?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

有什么方法可以自动将上传到网站的MP3修剪为30秒(或其他长度)的PHP?如果没有,是否有任何可以集成的良好第三方服务(透明地向用户)实现相同的效果?

提问于
用户回答回答于

你可以试试PHPClasses上的MP3类。它具有以下示例:

require_once './class.mp3.php';
$mp3 = new mp3;
$mp3->cut_mp3('input.mp3', 'output.mp3', 0, -1, 'frame', false);

在这种情况下,'帧'可以用'秒'代替以在时间框架上进行剪辑。

用户回答回答于

我编写了一个脚本,可以随时输出一个30秒的MP3文件剪辑。如果你想保存文件,使用类/库的其他选项之一可能是最好的。但是,如果您只想播放/下载预览,则可能会更好。它一定会为您节省硬盘空间。

$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;

扫码关注云+社区