近几天在做一个语音识别搜索功能的时候遇到了一个问题 ,发个文章记录一下,萌新第一次发博客,有不对的地方请各位大佬们多多指正!
前端用的微信的sdk生成的录音,然后用阿里的一句话识别转成文字,这里遇到的坑就是阿里不支持微信返回的音频格式,所以这里需要处理一下格式,经过了一顿百度,决定使用ffmpeg进行音频的转换
首先要下载ffmpg工具 [下载地址](http://ffmpeg.org/)
我为了方便调试我把ffmpeg放在phpStudy的WWW目录下了 如图:

其中ffmpeg.php是我自己写的,代码贴在下面
之后把ffmpeg下的bin 目录添加到windows的环境变量,具体操作这里就不说了,学过java的都清楚,如记不清了可百度一下
话不多说,直接上代码.
<?php
/*** @api音频文件格式转换-将silk转为wav* @author wyp*/
header("content-type:text/html;charset=utf-8");
date_default_timezone_set('Asia/Shanghai');
define('BASE_PATH', str_replace('\\', '/', realpath(dirname(__FILE__) . '/')) . "/");
//域名
$domain = $_SERVER['SERVER_NAME'];/*** 由于每次访问时会将音频文件上传到服务器上,所以我这里先把之前上传到服务器的音频删除*/
$dir = scandir('./');
foreach ($dir as $key => $value) {if (substr($value, -4) == '.wav') {if ($value == $_GET['filepath']) {continue;}$filemtime = fileatime($value);if (time() - $filemtime > 10) {unlink($value);}}
}//接收文件
if (!isset($_GET['filepath'])) {echo json_encode(['code' => 400,'info' => '文件路径为空',]);exit;
}
$filepath = $_GET['filepath'];
$in_time = date('Y-m-d-h-i-s', time());
@$copy = copy($filepath, './in_' . $in_time . ".silk");//这里将文件下载到本地服务器
if (!$copy) {echo json_encode(['code' => 400,'info' => '请检查文件路径',]);exit;
}
$filepath = "in_" . $in_time . ".silk";
//输出文件名
$rank = "rec";
for ($i = 1; $i < 9; $i++) {$rank .= rand(0, 9);
}
$outfile = $rank . "-" . date('Y-m-d-h-i-s', time()) . ".wav";
//绝对地址(D://phpstudy/www/...)
$base = BASE_PATH;//要执行的cmd命令
$cmd = "ffmpeg -i $base" . "$filepath " . "$base$outfile";//执行cmd命令
exec($cmd);//删除接收到的文件
unlink('./in_' . $in_time . ".silk");
//返回结果
echo json_encode(['code' => 200,'cmd' => $cmd,//执行的cmd'outfile' => "$domain/ffmpeg/bin/$outfile"//文件路径
]);
?>

windows+php+ffmpeg转换音频格式相关推荐

  1. linux ffmpeg批量转换,linux使用ffmpeg转换音频格式

    http://linux.51yip.com/search/ffmpeg # ffmpeg -y -i "1.avi" -title "Test" -vcode ...

  2. java flv转mp3_Java调用ffmpeg转换视频格式为flv的示例详解

    这篇文章主要介绍了 详解java调用ffmpeg转换视频格式为flv的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下 详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在L ...

  3. mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv

    详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...

  4. Python:运用pydub模块转换音频格式、对音频进行剪辑

    Python:运用pydub模块转换音频格式.对音频进行剪辑 近端时间看了一个短视频,觉得视频的背景音乐片段很不错,想把这个背景音乐得到,虽然小编运用Python爬虫肯定能得到这首音乐,但是这个音乐片 ...

  5. 你认识的转换音频格式的软件有哪些

    上周我收到了一位客户的任务要求,他需要将一首歌曲的WAV格式文件转换为MP3格式,以便在移动设备上播放.我利用便捷好用的音频转换软件帮他解决了这个问题.你们猜我是用什么音频转换软件的呢?你们知道的转换 ...

  6. 如何转换音频格式?建议收藏这几个方法

    小伙伴们平时喜欢听音乐吗?像我有时会为了方便随时随地听音乐,会将音乐音频保存在各种播放设备内.但是有时候一些播放设备就会提示说,不支持该音频格式的播放,不知道有没有小伙伴和我遇到一样的问题?像这种时候 ...

  7. 怎样用MP3转换器转换音频格式

    昨晚睡觉的时候突然脑海里闪现出一首歌曲,就是张杰的一首<秋天的童话>,于是便立刻拿起手机来听,一搜发现这首歌曲居然有很多人翻唱过,所以就一首一首的听了下去,发现有些歌曲的格式都不一样,脑子 ...

  8. 如何转换音频格式简单图文教程

    以下是一款音频转换器简单快捷的转换音频格式图文教程,有兴趣的朋友们可以参考参考. 1.下载安装:下载安装迅捷音频转换器,并将其安装至电脑中 2.运行软件:双击生成在桌面上的快捷方式,运行软件 3.添加 ...

  9. php如何转换音频格式,音频格式如何在线转换,音频转换软件

    现在歌曲.音频的格式是五花八门,我们如果需要将各类歌曲.音频的格式统一,只能采取格式转换的方法,那么音频格式如何转换呢?音频转换软件哪个比较好呢?其实转换音频格式很简单,小编这边就有一个方法可以转换音 ...

最新文章

  1. STP生成树协议原理及配置
  2. 二元查找树变双向链表
  3. vue2.0中引入wangEditor2 步骤与坑
  4. UA SIE545 优化理论基础 函数凸性的一些有趣的判断方法
  5. Intel Realsense D435 如何通过摄像头序列号获取指定摄像头的帧集对?
  6. MAX3222/MAX3232/ MAX3237/MAX3241/串口通信中文_技术文档
  7. 分类算法之决策树CART算法
  8. POJ1821-Fence【单调队列,dp】
  9. 游戏、脑洞大开1(密码简单破译)
  10. 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真
  11. 今天是 OSChina 上线 6 周年!
  12. 详解mysql什么时候不走索引
  13. JS——try catch throw
  14. 简单的Java商城项目记录
  15. Cheat Engine逆向修改植物大战僵尸(外挂)
  16. Microsoft Visual Studio 2013/2015/2017 官方原版 ISO 镜像中文版下载
  17. SSH项目整合基本步骤
  18. html显示ping值,jquery JS实现ping的功能(JS ping url)
  19. 没有公网IP,快速免费内网穿透
  20. win10自带ie和Edge浏览器无法上网解决方法 第三方浏览器和QQ可以使用

热门文章

  1. iframe防止页面套娃
  2. 使用FreeMarker生成word文档(带图片),word转pdf,预览pdf,pdf下载工具类
  3. Android Sensor 传感器总结
  4. 开发Android第一步,安装SDK 1.6, 模拟器及安装游戏
  5. BMS(电池管理系统)第五课 ——核心!!!SOH算法开发
  6. 大青云不显示服务器,37大青云1月4日合服公告
  7. qml Rectangle组件透明设置
  8. FPGA数字信号处理(九)Vivado FFT IP核实现
  9. MySQL Day05 子查询、函数、MD5加密、SELECT小结
  10. MySQL(四)Select总结及补充聚合函数及分组过滤MD5加密