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