2013-04-24 29 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