600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > php speex 将微信jssdk录制的speex高清音频转换为wav/mp3

php speex 将微信jssdk录制的speex高清音频转换为wav/mp3

时间:2023-04-13 03:44:55

相关推荐

php speex 将微信jssdk录制的speex高清音频转换为wav/mp3

今天在做微信开发的时候需要将jssdk录制的音频上传到微信平台,但是jssdk录制的是speex高清格式,不能直接转换为mp3或者wav格式,

微信官方提供了一个说明:

【如果speex音频格式不符合业务需求,开发者可在获取后,再自行于本地对该语音素材进行转码。

转码请使用speex的官方解码库/downloads/,并结合微信的解码库(含示例代码:下载地址)。】

好吧,因为需要高清的音频又不能直接通过公众号录制模式(不高清),搞linux解码安装吧。

效果图:

逻辑:通过jssdk录制音频

将录制的speex音频上传到服务器

将speex音频转换为wav格式 (内存占用大,speex为30kb的转换后变成了300kb)

将wav格式换为mp3(占用的空间小,speex为30kb转换后80kb)

上传mp3文件到公众号素材里面

其他逻辑

1.安装speex(到上面下载/downloads/)

用weget 命令就可以,也可以下载了上传到linux里面

解压speextarxzvfspeex-1.2.0.tar.gz

然后进入speex库的目录,进行编译安装cdspeex-1.2.0&&./configure&&make&&makeinstall

从github克隆解码库gitclone/gamelife1314/wechat-speex-declib.git

进入解码库安装cdwechat-speex-declib&&make&&cp./bin/speex_decode/usr/local/bin/speex2wav

//测试转码speex2wava.speexb.wav#顺利

3.将wav转换为mp3

先安装ffmpeg (到官网下载安装包然后在)

下载安装包,这种比较慢,可以其他地方下载再上传到这里wget/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz

解压文件tar-xvfffmpeg-git-amd64-static.tar.xz

进入目录cdffmpeg-git--amd64-static/

安装ffmpeg,秒装!./ffmpeg

转换文件:ffmpeg-ib.wav-ac1-ab128-ar8000-acodeclibmp3lamec.mp3

说明:ab:比特率,ar:采样率,-acodec 编码 ac:声道

在php里面调用:$speex2wav="speex2wav".$file['storePath']."/a.speex".$file['storePath']."/b.mp3";

$wav2mp3="ffmpeg-i".$file['storePath']."/b.wav-ac1-ab128k-ar8000-acodeclibmp3lame".$file['storePath']."/c.mp3";

exec($speex2wav);

exec($wav2mp3);

最后就是上传素材了

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