前言

最近在开发语音评测功能的时候,发现在公众号中使用弛声sdk进行录音评测的时候,录音结束后到返回评测结果比较慢,在做小程序相关功能的时候则明显快多了。那么这里面有什么不同么?为什么公众号sdk这个过程耗时更长?

公众号sdk

先来看看公众号sdk的源码
http://api.chivoxapp.com/js/wx/AiEngine.min.js

需要格式化一下便于查看。其中录音结束处理的部分代码流程如下:

        AiEngine.prototype.stopRecord = function (options) {var that = this;wx.ready(function () {wx.stopRecord({success: function (res) {...that._lastVoice = {localId: res.localId,tokenId: that._param.request.tokenId,startTime: that._startTime,endTime: that._endTime,duration: that._endTime - that._startTime};that._voices[that._lastVoice.tokenId] = that._lastVoice;that.uploadFile(that._token, that._lastVoice, that._param);...},fail: function (res) {...}});});};

可以看到当停止录音调用了uploadFile函数,这个函数的代码如下:

        AiEngine.prototype.uploadFile = function (token, file, param) {var that = this;wx.ready(function () {wx.uploadVoice({localId: file.localId,isShowProgressTips: param.isShowProgressTips,success: function (res) {file.serverId = res.serverId;that._httpClient.Post({...});},fail: function (res) {...}});});};

可以看到先调用了微信的uploadVoice将声音文件上传到微信的服务器上,然后将音频文件的url和其他信息post给弛声,这样弛声再通过url下载音频分析。

由于中间有一步上传到微信服务器的过程,然后弛声再下载,所以无形的增加了流程的时间。

小程序sdk

但是我在使用小程序sdk的时候,发现上次解析快了很多,难道有什么不同?

再来看看小程序的js文件https://api.chivoxapp.com/js/wxa/AiEngine.min.js

代码中,处理录音部分的代码如下:

c.prototype.startRecord = function(e) {var d = this;wx.startRecord({success: function(f) {if (d._endTime === 0) {...} else {if (typeof f === "undefined") {...} else {d._lastVoice = {localId: f.tempFilePath,tokenId: e.request.tokenId,startTime: d._startTime,endTime: d._endTime,duration: d._endTime - d._startTime};d._voices[d._lastVoice.tokenId] = d._lastVoice;d.uploadFile(d._token, d._lastVoice, e)}}},fail: function() {...}})};

可以看到当停止录音调用了uploadFile函数,这个函数代码如下:

c.prototype.uploadFile = function(e, d, g) {var f = this;wx.uploadFile({url: f._host + "/" + f._route + "/eval",filePath: d.localId,name: f._utils.generateGuid(),...})};

可以看到这里就与公众号sdk有些差异,这里调用了微信的uploadFile直接将音频文件上传给弛声解析。这样就比公众号少了一步上传到微信服务器再下载的过程,自然等待时间就会少很多。

原因

那么为什么公众号不能直接上传给弛声,因为不论公众号还是小程序录音后得到的都不是音频文件的路径,而是一个微信自定义格式的文件ID,通过这个ID我们无法直接拿到文件路径。而小程序提供了一个通过ID就可以将文件上传到自定义服务器的api,公众号只提供了一个通过ID上传到微信服务器的api,所以公众号处理起来要慢一些

浅析在公众号中使用弛声sdk为什么上传解析慢相关推荐

  1. 微信公众号开发JSSDK上传图片(多图上传)

    前面做了微信公众号开发,涉及到了图片上传功能.微信jssdk-api带有一套完整的调用选择本地图片上传的功能,很多朋友在问到多图上传的问题.在这里分享一下自己的做法,其实并不是自己的做法,就是完全按照 ...

  2. 微信公众号调用手机相册并将图片上传到本地服务器

    最近有一个需求,用公众号调用本地相册,并将图片上传到本地服务器(不是微信服务器). 步骤一:引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq ...

  3. JAVA微信公众号开发第8篇JSSDK图片上传预览

    简介 博主微信JSSDK&图片上传预览基于微信分享做拓展,所以一些配置操作请点击查阅JAVA微信公众号开发第7篇JSSDK&微信分享博文 页面 <html><head ...

  4. PHP 微信公众号真正正确的客服头像上传

    首先我们来看官方文档 这TM的搞笑呢 什么破玩意儿! 需要条件 1 需要有一个客服的账号 (废话) 2 一致jpg格式的图片(扯蛋) 完整流程 1 获取access_token 2获取账号 3 $ur ...

  5. php怎么添加会员卡,怎么在微信公众号中添加一个会员卡领取功能

    怎么在微信公众号中添加一个会员卡领取功能 发布时间:2020-12-09 16:06:27 来源:亿速云 阅读:129 作者:Leah 这篇文章将为大家详细讲解有关怎么在微信公众号中添加一个会员卡领取 ...

  6. php 微信开发 菜单,微信公众号中个性化菜单的开发实例

    微信公众号中个性化菜单的开发实例 个性化菜单让公众号的不同用户群体看到不一样的自定义菜单.该接口开放给已认证订阅号和已认证服务号,个性化菜单要求用户的微信客户端版本在iPhone6.2.2,Andro ...

  7. 小程序内嵌H5、H5回跳至小程序、小程序打开公众号中的文章

    一.小程序内嵌H5 1.前期准备:在微信公众平台小程序开发  -->  开发管理  -->   开发设置中配置业务域名. 2.语句: <web-view src="&quo ...

  8. 基于WeX5平台开发微信公众号中的在线问卷调查

    在线调查问卷在我们的生活中应用的非常广泛,能够非常方便快捷的获取到我们需要的信息,统计分析出相关核心的数据,方便我们的决策.在微信发展迅速的时代,覆盖面非常的大,那么基于微信公众号去推送我们的在线问卷 ...

  9. 利用Python编写脚本批量下载公众号中的音频

    欢迎大家光临我的博客,大家一起交流学习哦 陈京九的博客 首先声明我只是一个小菜鸡,把自己琢磨一些功能的过程发到了这里当做记录,希望大神们轻喷,能给我一些指导就更好啦~ 上一篇博客教大家下载了公众号中的 ...

最新文章

  1. 今年芯片行业最大收购案:亚德诺209亿美元收购美信,对抗行业老大德州仪器...
  2. VuePress 手摸手教你搭建一个类Vue文档风格的技术文档/博客
  3. java让线程空转_Java锁:悲观/乐观/阻塞/自旋/公平锁/闭锁,锁消除CAS及synchronized的三种锁级别...
  4. gridview中的图片错乱解决办法
  5. 项目中对网内IT资产进行管理
  6. sim7600ce 拨号上网测试_树莓派系列教程:通过SIM7600 4G模块NDIS拨号
  7. 自学python能学成吗-大家觉得自学python多久能学会?
  8. SharePoint 2013 对象模型操作网站设置菜单
  9. php漫画源码,小涴熊漫画CMS:开源的PHP漫画源码
  10. Android创建txt文件并写入
  11. 联通BSS-ESS-CBSS系统安装相关
  12. 消费品企业,会员营销四大痛点
  13. 有关Android优化比较好网络资源
  14. 宝宝大战落幕,互联网金融二战爆发
  15. ui界面设计做什么:ui设计具体是什么
  16. mysql odbc 5.3 install error 13: system error code 126
  17. Android 轻松实现百度地图定位
  18. 一文让你读懂如何使用eclipse做Python开发
  19. 进大专好还是去北大青鸟这类培训机构好呢?
  20. 计算机考研803学校,803计算机考研大纲

热门文章

  1. C语言逗号运算符和逗号表达式
  2. JSP页面的继承(extends)
  3. [摘抄]江湖经验:喝酒时玩的游戏大全!
  4. Android 图片切换特效 AndroidImageSlider
  5. Struts2.0第三章(文件上传、ajax开发、json、Fastjson、Jackson、注解开发)
  6. poj1769 线段树优化的dp
  7. 安装archlinux
  8. 笔记--------手动分页
  9. NOIp #2011
  10. 闫智宣的开发版_Android