2013-04-24 49 views
1

我有近200个ogg文件,我需要获取音频长度并将其保存在数据库中。以分贝节省音频文件长度

我知道PHP,但我认为我不能用PHP和MySQL来完成我的任务。

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

+2

[Ogg.class.php](HTTP ://opensource.grisambre.net/ogg/)阅读文档,其中有一些关于获取持续时间的信息。 – 2013-04-24 21:12:10

回答

2

如果您使用的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; 

如果没有,那么你应该看看一些库支持此功能,可能像thisogg像凯西提到的那样。

所以,你可以使用类似

KTaglib_MPEG_AudioProperties::getLength 

在我的答案开头的代码最初是由斯蒂芬·Fuhry书面和可以看出here