首先来认识下AMR:
AMR 是一种文件格式,存储AMR 语音编码文件. 很多手机允许用户存储短时间的AMR 格式录音。但是AMR也是一种语音格式,并未针对其他声音进行优化。普通文件扩展名是 .amr。
因amr为音频文件格式,所以能够打开amr文件的软件有很多,电脑上很多软件都可以直接打开,但在web网页HTML5是不能直接打开的,很多网友说用ffmpeg转成MP3再audio标签来播放,这是可行的,但总感觉转后音质比不上原音高,所以作者还是拼命去找解决方法直接在网页上播放amr格式音频。呵呵——还是被找到了,就是利用JS解码然后再播放,感觉amr-js开发者,参考官网:https://www.npmjs.com/package/amr-js
现在我们开始说说怎么播放amr语音吧。
一、本人的web环境是IIS,IIS默认是不支持amr格式的,所以首先我得先加MIME类型,方法:
1.打开Internet 信息服务(IIS)
2.进入IIS管理界面,选择要设置的网站
3.在站点对应的主页下面iis,双击mime类型
4.打开mime类型界面,点击右上角的“添加”
5.输入文件扩展名:.amr, MIME类型为: audio/amr,确定保存即可。
二、下载BenzAMRRecorder.min.js,下载地址:https://benzleung.github.io/benz-amr-recorder/demo.html,下载完后按上面官网教程进行操作,这里我简单缕缕几行代码:
var amr = new BenzAMRRecorder(); amr.initWithUrl(url); //url为amr音频地址,比如:./audio/123.amr amr.onEnded(function() { //监听结束后执行代码 }); amr.onPlay(function () { //监听播放后执行代码 }); amr.onPause(function () { //监听暂停后执行代码 }); amr.onResume(function () { //监听中断后执行代码 }); //下面是常用操作 amr.play(); //播放 amr.pause(); //暂停 amr.stop(); //停止 amr.playOrPauseOrResume(); //播放或暂停切换
讨论数量:0