PHP转换音频格式,获取音频信息

注意:使用该方法的前提是PHP需安装FFmpeg扩展
1.转换音频格式wav,m4a,amr,等到mp3
$f= 'http://x.com/2.wav';
 $re = exec("ffmpeg -i $f -f mp3 -acodec libmp3lame -y aa.mp3",$out,$status);
status=0 是执行成功
2.获取音频信息
public static function getAudioInfo($f)
{
   if (!$f) return array();
   $str = exec("ffmpeg -i ".$f." 2>&1 | grep 'Duration'");
   $str = trim($str);
   if (!$str) return array();
   $arr = explode(',', $str);
   $data = array();
   foreach ($arr as $v)
   {
       $tmp = explode(':', trim($v));
       if ($tmp && count($tmp)>=2)
       {
           if ($tmp[0]=='Duration')
           {
               $duration = intval($tmp[1])*3600 + intval($tmp[2])*60 + ceil($tmp[3]);
               $data['duration'] = $duration;
           }
           else if ($tmp[0]=='bitrate')
           {
               $data['bitrate'] = $tmp[1];
           }
       }
   }
   return $data;
}

参与评论