1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 关于微信录音的坑 amr格式音频文件HTML无法播放

关于微信录音的坑 amr格式音频文件HTML无法播放

时间:2021-05-24 23:14:47

相关推荐

关于微信录音的坑      amr格式音频文件HTML无法播放

之前开发一个微信公众好实时聊天的时候,由于项目需要,要求支持文字,文字+表情,图片,语音实时聊天,除了语音其他的还好说,可能第一次搞网页版语音聊天所以觉得麻烦吧,其实做完之后才发现并没有那么难,下面我讲解一下我遇到的问题:

主要的问题就是:

调用微信录音的问题,录完的音频文件存放在本地,也可以存到微信那边,但是微信那边只能存储几天,所以为了聊天的体验度,语音文件肯定不能放在微信那边。

于是我调用微信的录音接口,然后上传到自己的平台服务器,本想就大功告成,但是在html页面播放的时候才发现不能播放,原因是文件格式不支持,微信那边是.amr的格式, 而html不支持,所以另寻它路。

开始我寻思看看微信那边能不能直接录音成MP3格式的,但最后还是失败告别。

最后只能想着把amr格式的转成mp3的,开始我用的七牛云,但是七牛云的不怎么方便,所以决定试一下其他的办法,后来找到一个名为"ffmpeg"开源计算机程序,所以我决定用它来处理这个音频文件。开始我以为只要Linux的,但后面发下Window的也有。下面介绍下安装方法及使用吧。

在代码中使用(这里演示的为php的用法):

$amr = $dirname.$filename; 源文件路径$mp3 = $dirname.$name.'_wgc.mp3'; 保存路径$command = "/usr/local/bin/ffmpeg -i $amr $mp3";system($command,$error);

返回结果:

成功返回0,

失败(命令不存在等原因) 返回 非0值

安装方法:

window:

先去官网下载window版的ffmpeg, 把bin目录放到环境变量中,然后cmd,具体使用命令请自行百度

linux:

安装依赖包

yum install -y autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel

创建编译源码的目录

mkdir ~/ffmpeg_sources

编译&安装

Note:如果您不需要特定的编码器,可以跳过相关部分,然后删除编译ffmpeg 时相应的./configure选项。例如,如果不需要libvorbis ,可以跳过这一节,然后从安装ffmpeg的部分去掉–enable-libvorbis

Yasm

Ysam是X264和FFmpeg使用的汇编程序。

cd ~/ffmpeg_sourcesgit clone --depth 1 git:///yasm/yasm.gitcd yasmautoreconf -fiv./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"makemake installmake distclean

libx264

libx264 视频编码器。更多说明和用法示例可以参考:/wiki/Encode/H.264

需要ffmpeg编译的时候添加–enable-gpl –enable-libx264

cd ~/ffmpeg_sourcesgit clone --depth 1 git:///x264cd x264PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-staticmakemake installmake distclean

libx265

H.265/HEVC 视频编码器。更多说明和用法示例可以参考:/wiki/Encode/H.265

需要ffmpeg编译的时候添加–enable-gpl –enable-libx265

cd ~/ffmpeg_sourceshg clone /multicoreware/x265cd ~/ffmpeg_sources/x265/build/linuxcmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../sourcemakemake install

libfdk_aac

AAC 音频编码器。

需要ffmpeg编译的时候添加–enable-libfdk-aac (以及 –enable-nonfree 如果你添加了 –enable-gpl的话)

cd ~/ffmpeg_sourcesgit clone --depth 1 git://git./p/opencore-amr/fdk-aaccd fdk-aacautoreconf -fiv./configure --prefix="$HOME/ffmpeg_build" --disable-sharedmakemake installmake distclean

libmp3lame

MP3 音频编码器.

需要ffmpeg编译的时候添加 –enable-libmp3lame

cd ~/ffmpeg_sourcescurl -L -O /project/lame/lame/3.99/lame-3.99.5.tar.gztar xzvf lame-3.99.5.tar.gzcd lame-3.99.5./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasmmakemake installmake distclean

libopus

Opus 音频编解码器.

需要ffmpeg编译的时候添加 –enable-libopus

cd ~/ffmpeg_sourcesgit clone /opus.gitcd opusautoreconf -fiv./configure --prefix="$HOME/ffmpeg_build" --disable-sharedmakemake installmake distclean

libogg

Ogg 比特流库.。libtheora and libvorbis需要

cd ~/ffmpeg_sourcescurl -O /releases/ogg/libogg-1.3.2.tar.gztar xzvf libogg-1.3.2.tar.gzcd libogg-1.3.2./configure --prefix="$HOME/ffmpeg_build" --disable-sharedmakemake installmake distclean

libvorbis

Vorbis 音频编码器. 需要 libogg

需要ffmpeg编译的时候添加 –enable-libvorbis

cd ~/ffmpeg_sourcescurl -O /releases/vorbis/libvorbis-1.3.4.tar.gztar xzvf libvorbis-1.3.4.tar.gzcd libvorbis-1.3.4LDFLAGS="-L$HOME/ffmeg_build/lib" CPPFLAGS="-I$HOME/ffmpeg_build/include" ./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-sharedmakemake installmake distclean

libvpx

VP8/VP9 视频编码器.

需要ffmpeg编译的时候添加 –enable-libvpx.

cd ~/ffmpeg_sourcesgit clone /webmproject/libvpx.gitcd libvpx./configure --prefix="$HOME/ffmpeg_build" --disable-examplesmakemake installmake clean

FFmpeg

cd ~/ffmpeg_sourcesgit clone /FFmpeg/FFmpeg.gitcd FFmpegexport PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265makemake installmake distcleanhash -r

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