getID3類的學習使用
網上描述:
getID3()這個PHP腳本能夠從MP3或其它媒體文件中提取有用的信息如:ID3標簽,bitrate,播放時間等。
(格式包括:Ogg,WMA,WMV,ASF,WAV,AVI,AAC,VQF,FLAC,MusePack,Real,QuickTime,Monkey's Audio,MIDI等)。
官方網址:https://www.getid3.org/。
功能:
使用這個方法,可以獲得音頻、視頻、圖片等媒體文件中的信息,
我測了一下常見類型的媒體文件,測試結果如下:
使用的getID3的版本是:1.9.16-201810171314。
支持的類型:
音頻:【mp3】、【amr】;
視頻:【mp4】、【flv】、【wmv】、【avi】;
圖片:【gif】、【png】、【jpg】。
不支持的類型:
視頻格式【ts】。
示例:
使用背景:做聊天功能時,發送語音時,需要知道語音的時長,這個時候就可以使用getID3這個類。
開發環境:ThinkPHP3.2框架。
下載getID3類:在官網下載后解壓,里邊有許多文件,很多都是demo,只需要將getid3目錄放到項目里,
我把目錄放到ThinkPHP\Library\Vender下。
調用示例代碼:
Vendor('getid3.getid3');
$getID3 = new \getID3();
$analyzeFileInfo = $getID3->analyze($filename);
if($analyzeFileInfo && is_array($analyzeFileInfo)){
if(isset($analyzeFileInfo['error']) && $analyzeFileInfo['error']){
$err_msg = '獲取語音消息的時長失敗';
if(is_array($analyzeFileInfo['error'])){
foreach ($analyzeFileInfo['error'] as $key=>$value) {
$err_msg .= ',錯誤'. ($key+1) . ':'.$value;
}
}else{
$err_msg .= ',錯誤:'.$analyzeFileInfo['error'];
}
log($err_msg);
return false;
}else{
if(isset($analyzeFileInfo['playtime_seconds'])){
return ceil($analyzeFileInfo['playtime_seconds']);
}
return false;
}
}else{
log('解析語音文件失敗:'.$analyzeFileInfo);
return false;
}
}
