当前位置: 首页 > news >正文

做学校网站需要备案么微信推广软件有哪些

做学校网站需要备案么,微信推广软件有哪些,德州做网站,网站不备案行吗背景: 在使用微信官方语音合成插件的时候遇到一个问题,textToSpeech这个api的内容限制在官网的文档上明明是1000个字节,也就是说能保证333个中文字符应该是没有问题的,但是也不知道为什么我这里仅仅传了150个中文字符就报错了&…

背景:
在使用微信官方语音合成插件的时候遇到一个问题,textToSpeech这个api的内容限制在官网的文档上明明是1000个字节,也就是说能保证333个中文字符应该是没有问题的,但是也不知道为什么我这里仅仅传了150个中文字符就报错了,报错内容返回{“retcode”:-20003,“msg”:“text to speech inner server failed.”},查了一下是因为内容过长导致的错误。
解决办法:
事实与文档说明完全不符,这个没办法解决,就想了一个分割内容分段合成的办法,但是分段吧就会有一个问题,那就是如果每段文字合成语音后,播放,然后再合成,在播放,就会出现明显的停顿,一点都不丝滑,很难受,为了解决这个问题,想了一个预加载的办法,也就是预先合成一段段的音频文件,然后将这些音频文件存到一个数组里面,通过shift函数每次从数组取出一个这样就实现了不管多少文字内容,都能够非常丝滑的合成语音文件。
代码:

    data() {return {showAudioModal: false,textAyy: [],audioAyy: [],content: '超长的文本'};},onLoad(e) {this.audioContext =	uni.createInnerAudioContext();this.audioContext.onEnded(() => {if(this.audioAyy && this.audioAyy.length > 0){this.audioContext.src = this.audioAyy.shift()this.audioContext.play()}else{this.showAudioModal = false}})},methods: {async textToSpeech(){this.audioAyy = []this.textAyy = this.splitStringByLength(this.content,100,100)let flag = truefor (var i = 0,len = this.textAyy.length; i < len; i++) {if(i === 0){uni.showLoading({title: '语音加载中',mask: true})}await this.callTextToSpeech(this.textAyy[i]).then(res => {console.log(i)this.showAudioModal = trueif(flag){this.audioContext.src = res;this.audioContext.play();flag = false}else{this.audioAyy.push(res)}uni.hideLoading()}).catch(() => {})}if(flag){uni.hideLoading()uni.showToast({title:'语音合成失败'})}},callTextToSpeech(content){return new Promise((resolve,reject) => {this.$wcs.textToSpeech({lang: "zh_CN",tts: true,content,success: (res) => {console.log("succ tts", res.filename)resolve(res.filename)},fail: function(res) {console.log("fail tts", res)reject()}})})},splitStringByLength(str, maxSize, chunkSize) {const totalLength = str.length;if (totalLength <= maxSize) {return [str];}const chunks = [];let start = 0;while (start < totalLength) {let end = Math.min(start + chunkSize, totalLength);const chunk = str.substring(start, end);chunks.push(chunk);start = end;}return chunks;},
}

大致逻辑
通过async和await保证语音合成的有序性,第一段成功的语音直接播放,后续的放入数组,等音频播放结束事件触发后,自动从数组中获取资源,这样一来就实现了预合成的效果,达到了非常丝滑的效果

http://www.tj-hxxt.cn/news/79248.html

相关文章:

  • 如何seo网站推广做百度推广的网络公司广州
  • asp连接数据库做登录网站完整下载百度云登录首页
  • 如何快速做企业网站包括商城找平台推广
  • 红色旅游网页设计东莞网站推广及优化
  • 培训行业网站建设是什么广告投放渠道有哪些
  • wordpress vip付费搜索引擎seo如何优化
  • 开奖网站怎么做下载百度2023最新版安装
  • h5网站开发培训机构百度信息流开户多少钱
  • c 做网站 知乎最新新闻今天最新新闻
  • QQ点钓鱼网站后怎么做seo网站优化培训怎么做
  • 如何搭建公司网站河南网站开发公司
  • wordpress邀请码注册功能优化师
  • 无锡做网站哪个公司好百度seo优化服务
  • 空壳网站清理网络推广怎么做好
  • 网站建设页面生成torrentkitty搜索引擎
  • 阳江哪里做网站爱战网关键词挖掘
  • 建设项目环境影响登记表备案系统网站seo免费资源大全
  • 如何做商城网站贵州快速整站优化
  • 做网站老师seo sem推广
  • 网站描述范例网站排名优化的技巧
  • 济南市网站建设重庆网站排名
  • 武汉高端网站定制设计师网站标题seo外包优化
  • 六安的网页制作seo模板建站
  • 讨论建设网站的心得网站建设技术外包
  • 工业设计在线seo关键词排名优化如何
  • jsp网站开发 开题依据百度引流平台
  • 东莞市建网站长春关键词优化平台
  • 济南网站制作哪家好网络营销渠道建设方案
  • 网站免费的不用下载如何做品牌营销
  • 女人网站源码河南seo推广