需求:
用有道的语音识别接口,识别手机端的录音,由于有道只支持wav文件的识别,而Android录音格式不包括wav,默认为amr,因此需要把amr文件传到服务器端再用FFmpeg转格式
1.服务器安装FFmpeg
http://www.cnblogs.com/freeweb/p/6897907.html
2.PHP使用FFmpeg
https://blog.csdn.net/a9925/article/details/80334700
我后端是用的thinkPHP,具体步骤是,在项目根目录
1.在 php.ini 中开启这两个函数proc_open proc_get_status
设置中国全量镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
3.安装php-ffmpeg
composer require php-ffmpeg/php-ffmpeg
4.项目中调用
在控制器中:
require 'vendor/autoload.php';
$path = array(
'ffmpeg.binaries' => '/monchickey/ffmpeg/bin/ffmpeg',
'ffprobe.binaries' => '/monchickey/ffmpeg/bin/ffprobe');
$amr = ‘test.amr’;
$ff = FFMpeg::create($path);
$audio = $ff->open($amr);
$audio->save(new \FFMpeg\Format\Audio\Wav(), 'test.wav');
monchickey/ffmpeg/bin/为FFmpeg的安装路径