vue的微信语音功能,录音+对接口返回amr音频播放

最近的新项目需要调用微信的录音功能,但是后台又不给音频转码,无奈之下就踏上了研究前端音频编码器这东西。

参考的GitHub仓库——Recorder

参考的GitHub仓库——benz-amr-recorder

先上代码:

在index.html加载下面三个js

app-min.js对应的是下图这个文件,其他两个文件都可以在该仓库找到名字一样

然后在你需要播放amr音频的页面添加以下方法

// 加载音频的方法 voice参数是接口返回的amr链接.amr,这个需要后端的把微信的amr音频存储到本地再返回给前端

(该方法只能播放同源的音频链接)

loadDemoBtn(voice){

// this.amr = new BenzAMRRecorder();

this.loadDemoBtn1.setAttribute('disabled', true);

this.loadAmrFile1.setAttribute('disabled', true);

this.playBtn.setAttribute('disabled', true);

const that = this;

// http://localhost:8081/addons/yun_shop/static/app/mario.amr

// https://dev1.yunzshop.com/addons/yun_shop/storage/app/public/business_card/3f91e0ce6866d86639e81aab8f4951a2_5.amr

that.initWithUrl(voice).then((data)=> {

// 把amr转码成WAV

Recorder.amr2wav(data,function(blob){

that.end(blob);

console.log("已转码成wav播放");

},function(msg){

console.log("转码成wav失败:"+msg);

});

that.loadDemoBtn1.removeAttribute('disabled');

that.loadAmrFile1.removeAttribute('disabled');

that.playBtn.removeAttribute('disabled');

// that.duration.innerHTML = that.amr.getDuration().toFixed(2) + ''';

});

},

// 把amr加载

initWithUrl(url) {

if (this._isInit || this._isInitRecorder) {

throw new Error('AMR has been initialized. For a new AMR, please generate a new BenzAMRRecorder().');

}

const p = new Promise((resolve, reject) => {

fetch(url, {

method: 'GET',

responseType: 'blob',

headers: {'Content-Type': 'application/octet-stream'},

credentials: 'include'

})

.then((response) => {

if (response.ok) {

response.blob().then(function(blob) {

console.log(blob);

resolve(blob);

});

}

})

.catch((err) => {

reject(err);

})

});

return p.then(blob => {

return blob;

});

},

以上代码就可以播放微信录音的amr音频。

例子以后再放 先写到这里

vue 微信录音倒计时_vue的微信语音功能,录音+对接口返回amr音频播放-Go语言中文社区...相关推荐

  1. vue 微信录音倒计时_VUE倒计时视频怎么拍 怎么添加录音

    VUE视频相机,相信很多人都有用过,是非常好用的.VUE倒计时视频怎么拍?怎么添加录音? VUE倒计时视频怎么拍: 其实这里需要两个软件,一个是VUE,另一个就是Inshot. 1.首先拍好素材视频, ...

  2. vue获取微信登陆权限_Vue获取微信JSSDK授权,以及微信分享

    场景 Vue获取JSSDK授权以便在微信浏览器,或者嵌在小程序里面做些小事情,如朋友/朋友圈分享,微信支付,图片上传下载等 步骤一 配置安全域名: 在微信公众平台对应的公众号设置里面配上相应的JS接口 ...

  3. vue 调用共众url_vue单页面,在微信公众号支付中遇到的URL未注册BUG解决方法-Go语言中文社区...

    今天在做微信公众号支付的时候,遇到一个bug,在当前支付页面点击支付,就会报错,提示当前页面的URL未注册.如下图: 但是,这个URL我们是在后台微信公众号配置了的,所以说不会出错. 但是我们刷新一次 ...

  4. 李荣浩建议微信推2倍速听语音功能

    本文转载自IT之家,IT之家 2 月 13 日消息 今天,歌手李荣浩在微博吐槽微信的语音没有倍速听的功能,引起了网友的热议. 李荣浩建议微信推出 2 倍或 3 倍速听语音的功能,因为经常会收到十个 6 ...

  5. 基于微信小程序的毕业设计题目(22)php有声读物音频播放小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)

    项目背景和意义 目的:小程序是一种不需要下载安装即可使用的应用,它实现了应用触手可及的梦想,用户扫一扫或者搜一下即可打开应用.另一方面,面对有声阅读的收费化,广告化的趋势,我希望给用户提供免费.舒适. ...

  6. python爬微信好友_用Python爬了自己的微信好友,原来他们是这样的人……-Go语言中文社区...

    导读: 用了微信几年了,微信号有也不少了,但是真正了解自己的好友吗?好友最多的城市是哪个?好友男女比例是多少?好友签名都是什么?今天我们来充分了解自己的微信好友. 01 准备工作 运行平台:Windo ...

  7. vue拦截器刷新登陆页面_Vue + Spring Boot 项目实战(六):前端路由与登录拦截器-Go语言中文社区...

    前言 这一篇主要讲前端路由与登录拦截器的实现.放在一起讲是因为我在开发登录拦截器时因为这个路由的问题遇到了很多坑,花费了很长时间,网上的解决方案都不怎么靠谱,综合了好几种办法才最终成功,其实关于这个部 ...

  8. python 语音转文字_《奇巧淫技》系列-Python实现 语音转文字??非也!!是文字转语音,DIY你想要的萝莉音!!!-Go语言中文社区...

    本文章纯野生,无任何借鉴或抄袭他人文章.坚持原创前提一:有一篇你很喜欢的文章或者小说,阅读起来眼睛会很干涉之类的. 前提二:老人家看书不方便,将文字转换成语音,再进行播放. 前提三:想DIY你自己的御 ...

  9. vue 微信录音倒计时_Vue实现发送短息60秒倒计时

    原文:https://blog.csdn.net/weixin_43201015/article/details/84405352 Vue实现注册账号时,发送短信60秒倒计时功能,并进行手机号校验的D ...

最新文章

  1. log4j在eclipse上使用简介
  2. mysql load报错_mysql:执行LOAD DATA LOCAL 报错
  3. oracle中escape关键字用法
  4. Android sdk manager更新下载缓慢的解决方法
  5. qrencode二维码生成在linux下的编译
  6. c#数组获取元素的索引_获取元素集合 从C#中的指定索引
  7. Oracle笔记:备份还原
  8. Python解决爬虫中文返回乱码问题
  9. (13)FPGA面试技能提升篇(Shell脚本)
  10. mysql主主同步修复
  11. centos 安装 Pip 的方法总结
  12. 北方民族大学计算机考研专业课,2021北方民族大学专业课考研真题资料汇总!!...
  13. Java 8 异步 API、循环、日期,用好提高生产力!
  14. Adafruit_SSD1306库学习
  15. 机器学习(周志华) 第十六章强化学习
  16. 微信小程序请求函数的封装
  17. 各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码
  18. 生酮咖啡是什么意思?生酮咖啡真的能减肥吗?
  19. Plants vs. Zombies
  20. PaddlePaddle基本用法详解(二)、PaddelPaddle训练水果分类模型

热门文章

  1. B端产品-定义、分类、竞品分析、与C端产品的区别
  2. 安全距离:8...8米!?
  3. 男女在床上说的28个NB笑话!
  4. 解决jieba分词,切不出分词
  5. UART 通信 协议 (二)
  6. Predictive and Prescriptive Methods in Operations Research and Machine Learning: An Optimization App
  7. handler机制,成功跳槽百度工资从15K涨到28K,挥泪整理面经
  8. 命令行导入mysql数据库
  9. Error 1924.Could not update environment variable FNL_LICENSE_NUMBER.  Verify that you have sufficien
  10. Java应届生大学四年怎么做,可以毕业就进入华为工作,致Java高级工程师的一封信