重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
php实现音频格式转换的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
创新互联服务项目包括台州网站建设、台州网站制作、台州网页制作以及台州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,台州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到台州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
php音频格式转换的实现方法:首先把ffmpeg放在phpStudy的WWW目录下;然后把ffmpeg下的bin目录添加到windows的环境变量中;最后通过ffmpeg转换音频格式即可。
windows+php+ffmpeg转换音频格式
近几天在做一个语音识别搜索功能的时候遇到了一个问题 ,发个文章记录一下,萌新第一次发博客,有不对的地方请各位大佬们多多指正!
前端用的微信的sdk生成的录音,然后用阿里的一句话识别转成文字,这里遇到的坑就是阿里不支持微信返回的音频格式,所以这里需要处理一下格式,经过了一顿百度,决定使用ffmpeg进行音频的转换
首先要下载ffmpg工具 [下载地址](http://ffmpeg.org/)
我为了方便调试我把ffmpeg放在phpStudy的WWW目录下了 如图:
其中ffmpeg.php是我自己写的,代码贴在下面 之后把ffmpeg下的bin 目录添加到windows的环境变量,具体操作这里就不说了,学过java的都清楚,如记不清了可百度一下 话不多说,直接上代码.
服务器上,所以我这里先把之前上传到服务器的音频删除 */ $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"//文件路径 ]); ?>
感谢各位的阅读!看完上述内容,你们对php实现音频格式转换的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。