首先感慨一下,ffmpeg是一个非常强大的开源音视频处理软件。
官网:
http://ffmpeg.org/
我是在windows上使用,所以下载了windows对应版本。
写了如下php脚本进行批处理:
function convert($sourceDir,$ffmpegExe){
if(!is_dir($sourceDir)){
return false;
}
$destDir = pathinfo($sourceDir,PATHINFO_DIRNAME).'/mp3';
if(!is_dir($destDir)){
mkdir($destDir);
}
$items = scandir($sourceDir);
foreach ($items as $k=>$v){
if($v=='.'||$v=='..'){
continue;
}
if(is_dir($v)){ // 只转一级目录下的,如果还有目录,略过
continue;
}
$inputFile = rtrim($sourceDir,'/').'/'.$v;
$outputFile = $destDir.'/'.pathinfo($v,PATHINFO_FILENAME).'.mp3';
exec($ffmpegExe.' -i '.$inputFile.' '.$outputFile);
}
}
// 使用
$dir="C:/Users/Administrator/Desktop/m4a";
$ffmpegExe = "C:/Users/Administrator/Desktop/ffmpeg/bin/ffmpeg.exe";
convert($dir,$ffmpegExe);
// 执行后就可以在m4a同级目录下的mp3目录收获mp3格式的文件了