2

我有将近 200 个 ogg 文件,我需要获取它们的音频长度并将其保存在数据库中。

我知道 PHP,但我认为我无法使用 PHP 和 MySQL 完成我的任务。

你能为我的问题推荐一个解决方案吗?

4

1 回答 1

3

如果您使用的是 linux / unix 并安装了 ffmpeg,请执行以下操作:

$time = exec("ffmpeg -i " . escapeshellarg($path) . " 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//");
list($hms, $milli) = explode('.', $time);
list($hours, $minutes, $seconds) = explode(':', $hms);
$total_seconds = ($hours * 3600) + ($minutes * 60) + $seconds;

如果没有,那么您应该查看一些支持此功能的库,也许thisoggKacey 提到的那样。

所以你可以使用类似的东西

KTaglib_MPEG_AudioProperties::getLength 

我的答案开头的代码最初是由 Stephen J. Fuhry 编写的,可以看到here

于 2013-04-24T21:26:22.800 回答