這幾天做開發尋思給自己的小程序添加一個錄音的功能覺得沒啥難度以為調調接口就能好了,萬萬沒想到萬惡的微信小程序接口返回的錄音音頻格式竟然是silk格式的 , 微信接口是amr格式的 , 由于之前做過amr轉mp3的功能所以沒放在心上然而差不多花了我兩天的時間才成功的把silk音頻文件轉換成mp3格式的.話不多說看問題描述以及詳細的教程:
描述:silk音頻文件轉換mp3
服務器組合1:winServer+php+apache
服務器組合2:winServar+php+iis
由于我的服務器是winServer主要講前兩個 ,linux的話網上也有很多教程可以自行百度
silk轉換win思路:php執行exec執行外部程序或外部指令調用cmd命令利用擴展插件轉換成mp3
silk轉換linux思路:php執行exec執行外部程序或外部指令調用shell命令利用擴展插件轉換成mp3
這里借用了kn007大神的工具提取了兩個exe進行轉換
下載插件的話可以去kn007的博客自己下載, 畢竟我們還是要尊重原創的功勞,它確實是一款特別好的插件,kn007大神也是一個很熱心的人如果你遇到了什么問題只要在博客留言他都會盡快回復你的~~~
博客地址:
https://kn007.net/topics/batch-convert-silk-v3-audio-files-to-mp3-in-windows/
插件名稱:
silk_v3_decoder.exe
ffmpeg.exe
這兩個exe文件的描述可以自己去看kn007博客的說明 .
ffmpeg是一個很強大的插件可以把視頻或音頻文件轉換成流數據可操作
貼上代碼:
//silk轉pcm
-
$pcm = exec('D:\\wwwroot\\jghy\\wwwroot\\test\\silk_v3_decoder.exe
-
D:\\wwwroot\\jghy\\wwwroot\\test\\20170208133003_d270bceae0fe.silk
-
D:\\wwwroot\\jghy\\wwwroot\\test\\20170208133003_d270bceae0fe.pcm',$re,$re1);
//pcm轉mp3
-
$mp3 = exec('D:\\wwwroot\\jghy\\wwwroot\\test\\ffmpeg.exe -y -f s16le -ar 24000 -ac 1 -i
-
D:\\wwwroot\\jghy\\wwwroot\\test\\20170208133003_d270bceae0fe.pcm
-
D:\\wwwroot\\jghy\\wwwroot\\test\\20170208133003_d270bceae0fe.mp3',$re2,$re3);
注:一定要寫絕對路徑,如果是apche直接寫/www/jghy/wwwroot/test/ffmpeg.exe 如遇無法轉換請把C:/window/system32/cmd.exe 修改讀寫權限,當前目錄修改讀寫權限
|