另类方法:php代码将amr格式录音转换为mp3格式技巧分享
前段时间有朋友问我一个事情,是一个这样的需求,录音后可以在页面正常播放这段录音。安卓(Android)下录音后格式为amr格式,那么问题来了,这个格式在苹果手机下是无法播放的。搜索了下相关信息查看,看了个大致,需要服务器安装ffmpeg程序才能正常,貌似还记得有个命令可以帮amr转换为mp3格式的音频,mp3在安卓、苹果下都可以播放。
前段时间有朋友问我一个事情,是一个这样的需求,录音后可以在页面正常播放这段录音。安卓(Android)下录音后格式为amr格式,那么问题来了,这个格式在苹果手机下是无法播放的。搜索了下相关信息查看,看了个大致,需要服务器安装ffmpeg程序才能正常,貌似还记得有个命令可以帮amr转换为mp3格式的音频,mp3在安卓、苹果下都可以播放。
下面就来具体说说实现的方法
ffmpeg下载地址:http://ffmpeg.org/download.html
linux下可以下载静态版本包,静态版本包地址:https://johnvansickle.com/ffmpeg/,可以按照cpu版本,下载对应的包。如服务器cpu为intel的,下载 ffmpeg-release-i686-static.tar.xz 包
相关命令如下
1 wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz 2 tar -Jxvf ffmpeg-release-i686-static.tar.xz 3 #解压后目录为:/root/ffmpeg-4.2.2-i686-static 4 cd /root/ffmpeg-4.2.2-i686-static 5 ./ffmpeg #查看ffmpeg 命令配置及配置参数 6 #配置环境变量 7 vi etc/profile 8 export FFMPEG_HOME=/root/ffmpeg-4.2.2-i686-static/ 9 export PATH=$FFMPEG_HOME:$PATH 10 11 保存并退出 12 source etc/profile
php代码中通过执行命令 ffmpeg -i from.amr to.mp3 即可,下面提供部分代码示例
1 system("ffmpeg -i $file $filemp3"); 2 if(filesize($filemp3) > 0){ 3 @unlink($file);//删除原文件 4 echo $filemp3; 5 }else{ 6 echo \'error\'; 7 }
嗯。具体大致就是这样,有需要的朋友可以顺便拿走!