前段时间有朋友问我一个事情,是一个这样的需求,录音后可以在页面正常播放这段录音。安卓(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 }

 

嗯。具体大致就是这样,有需要的朋友可以顺便拿走!

 

版权声明:本文为xiaoqiangweb原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaoqiangweb/p/13231757.html