900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 小程序录音php上传 微信小程序录音文件.silk上传服务器转mp3格式

小程序录音php上传 微信小程序录音文件.silk上传服务器转mp3格式

时间:2018-08-19 11:40:17

相关推荐

小程序录音php上传 微信小程序录音文件.silk上传服务器转mp3格式

微信小程序录音文件.silk上传服务器并且转换mp3格式。本教程将采用nodejs/silk_v3_decoder.exe/ffmpeg三个东西配合使用。本教程是在windows下通过。

本教程包括下面几个步骤:

1、nodejs安装等一些基本使用就不说了,如果使用nodejs开发的人即可知道,它是服务器脚本语言和php、java等后端技术语言类似。

2、安装silk_v3_decoder.exe,安装方式也很简单,在/kn007/silk-v3-decoder这个地址可以下载。下载下来主要包括:lame.exe文件、silk_v3_decoder.exe文件、silk2mp3.exe文件。这三个文件尽量不用删除任何一个。

3、安装ffmpeg文件,/builds/win64/static/ffmpeg-0316-git-d0a9114-win64-static.7z这个地址可以下载,下载好解压好之后,给ffmpeg建立一个环境变量,环境变量指定到刚刚解压文件夹里面的bin文件夹里面即可。

上面三个步骤准备好之后就是在nodejs里面写程序了。首先我们要安装child_process。这个是nodejs的一个插件,用来执行系统命令的。

安装命令:

npm install child_process;安装好之后引到要处理的文件,如:var exec=require("child_process").exec;。

接下来如下书写代码:

var audioSilk="xiaoweiba.silk";

var audioPcmName="xiaoweiba.pcm";

var audioMp3Name="xiaoweiba.mp3";

先利用silk_v3_decoder.exe把.silk文件转换成pcm再利用ffmpeg把pcm转mp3即可。至于为什么要先转pcm再转mp3这个是一个解码过程,详尽介绍自行百度谷歌。如果缺少一个步骤转换出来的不保证能播放。

具体nodejs实现代码如下:

exec("C:\\nodejs\\web\\silk_v3_decoder\\silk_v3_decoder.exe "+audioSilk+" C:\\nodejs\\web\\audio\\"+audioPcmName, function(err,stdout,stderr){

if(err) {

console.log('get weather api error:');

} else {

//console.log(stdout);

exec("ffmpeg -y -f s16le -ar 24000 -ac 1 -i C:\\nodejs\\web\\audio\\"+audioPcmName+" C:\\nodejs\\web\\audio\\"+audioMp3Name,function(){

if(err) {

console.log('get weather api error:');

} else {

console.log("mp3转换成功");

}

});

}

});

C:\nodejs\web\silk_v3_decoder\silk_v3_decoder.exe "这个是指通过silk_v3_decoder.exe文件转换,注意一定要绝对路劲,"+audioSilk+"这个是输入文件,即要转换的.silk文件, " C:\nodejs\web\audio\"这个是输出目录,+audioPcmName这个是输出文件名接下来的代码这里就不分析了。想必大家都能看的懂。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。