欢迎光临,了解微信小程序开发,就上易用通!

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

发布:2018-01-25 08:48浏览: 来源:网络 作者:tianshu

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

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

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

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

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

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

安装命令:

 

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

接下来如下书写代码:

 

  1. var audioSilk="xiaoweiba.silk";
  2.  
  3. var audioPcmName="xiaoweiba.pcm";
  4.  
  5. var audioMp3Name="xiaoweiba.mp3";

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

具体nodejs实现代码如下:

 

  1. exec("C:\\nodejs\\web\\silk_v3_decoder\\silk_v3_decoder.exe "+audioSilk+" C:\\nodejs\\web\\audio\\"+audioPcmName, function(err,stdout,stderr){
  2. if(err) {
  3. console.log('get weather api error:');
  4. } else {
  5. //console.log(stdout);
  6. exec("ffmpeg -y -f s16le -ar 24000 -ac 1 -i C:\\nodejs\\web\\audio\\"+audioPcmName+" C:\\nodejs\\web\\audio\\"+audioMp3Name,function(){
  7. if(err) {
  8. console.log('get weather api error:');
  9. } else {
  10. console.log("mp3转换成功");
  11. }
  12. });
  13. }
  14. });

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





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