自问自答: 原始需求:通过智聆语音评测插件,评测英语口语句子中不正确的单词,在单词中分析出发音不准确的单词音素,根据这个不准备的单词音素动态合成一段点评语音. eg(需要合成的语音):chew中的ch发音不准备哦,ch念:tʃ,[小盆友可以跟着我念一遍/小盆友和我一起试试/小盆友你也来试试] 思路: 找到单词对应的音素,再根据音素数组匹配对应的字素数组; 准备好所有标准的音素; 将需要合成的句子拆分为单词部分、通用句子部分、音素部分,放到一个数组里; 根据先进先出的次序依次合成语音,音素部分只需要按照数组下标从音素素材库重命名; 最后按照数组先后将音频片段合成一个完整的句子即可.
(语音测评插件)如何将单词按照音素划分后一一对映上?类似 physically --> ph-y-s-i-c-a-ll-y psychology --> ps-y-ch-o-l-o-g-y thrush --> th-r-u-sh bought --> b-ough-t chew --> ch-ew palm --> p-al-m
2019-10-21云函数处理数据库并根据处理结果返回前端: [代码]exports.main = async (event, context) => {[代码][代码] [代码][代码]const wxContext = cloud.getWXContext()[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]let res = await db.collection([代码][代码]'tb_user'[代码][代码]).add({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]openid: wxContext.OPENID,[代码][代码] [代码][代码]appid: wxContext.APPID,[代码][代码] [代码][代码]unionid: wxContext.UNIONID[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]var[代码] [代码]code = 0[代码][代码] [代码][代码]var[代码] [代码]msg = [代码][代码]'success'[代码][代码] [代码][代码]if[代码] [代码](res.errMsg != [代码][代码]'collection.add:ok'[代码][代码]) {[代码][代码] [代码][代码]code = 1[代码][代码] [代码][代码]msg = [代码][代码]'error'[代码][代码] [代码][代码]}[代码][代码] [代码][代码]return[代码] [代码]{[代码][代码] [代码][代码]code: code,[代码][代码] [代码][代码]msg: msg,[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]openid: wxContext.OPENID,[代码][代码] [代码][代码]appid: wxContext.APPID,[代码][代码] [代码][代码]unionid: wxContext.UNIONID,[代码][代码] [代码][代码]env: wxContext.ENV[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]console.error([代码][代码]'err:'[代码][代码],e)[代码][代码] [代码][代码]return[代码] [代码]{[代码][代码] [代码][代码]code: e.errCode,[代码][代码] [代码][代码]msg: [代码][代码]'error'[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码]}[代码]
云函数调用数据库后返回小程序的result为null云函数: [代码]exports.main = async (event, context) => [代码][代码]new[代码] [代码]Promise((resolve, reject) => {[代码][代码] [代码][代码]db.collection([代码][代码]'cardList'[代码][代码]).add({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]name : [代码][代码]'name'[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]resolve({status : 1})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码]})[代码]小程序: [代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name: [代码][代码]'addCard'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]name : [代码][代码]'name'[代码][代码] [代码][代码]},[代码][代码] [代码][代码]complete: res => {[代码][代码] [代码][代码]console.log([代码][代码]'callFunction test result: '[代码][代码], res)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success : res => {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码]小程序中打印出来的是: {errMsg: "cloud.callFunction:ok", result: null, requestID: "e474bbe7-10e1-11e9-9884-525400192d0e"} 请问result为何返回的是 {status : 1} 但是官网的例子是可以输出的值 [代码]exports.main = (event, context) => [代码][代码]new[代码] [代码]Promise((resolve, reject) => {[代码][代码] [代码][代码]setTimeout(() => {[代码][代码] [代码][代码]resolve(3333)[代码][代码] [代码][代码]}, 3000)[代码][代码] [代码][代码]})[代码] {errMsg: "cloud.callFunction:ok", result: 3333, requestID: "e474bbe7-10e1-11e9-9884-525400192d0e"}
2019-10-21云函数处理数据库并根据处理结果返回前端: [代码]exports.main = async (event, context) => {[代码][代码] [代码][代码]const wxContext = cloud.getWXContext()[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]let res = await db.collection([代码][代码]'tb_user'[代码][代码]).add({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]openid: wxContext.OPENID,[代码][代码] [代码][代码]appid: wxContext.APPID,[代码][代码] [代码][代码]unionid: wxContext.UNIONID[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]var[代码] [代码]code = 0[代码][代码] [代码][代码]var[代码] [代码]msg = [代码][代码]'success'[代码][代码] [代码][代码]if[代码] [代码](res.errMsg != [代码][代码]'collection.add:ok'[代码][代码]) {[代码][代码] [代码][代码]code = 1[代码][代码] [代码][代码]msg = [代码][代码]'error'[代码][代码] [代码][代码]} [代码][代码] [代码][代码]return[代码] [代码]{[代码][代码] [代码][代码]code: code,[代码][代码] [代码][代码]msg: msg,[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]openid: wxContext.OPENID,[代码][代码] [代码][代码]appid: wxContext.APPID,[代码][代码] [代码][代码]unionid: wxContext.UNIONID,[代码][代码] [代码][代码]env: wxContext.ENV[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]console.error([代码][代码]'err:'[代码][代码],e)[代码][代码] [代码][代码]return[代码] [代码]{[代码][代码] [代码][代码]code: e.errCode,[代码][代码] [代码][代码]msg: [代码][代码]'error'[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码]}[代码]
云函数更新数据库调用成功返回null说找不到数据库表[图片]
2019-10-21遇到相同问题,点击项目文件夹不能正常定位
开发工具点击展开栏目的时候会跳到其他地方?开发工具点击展开栏目的时候会跳到其他地方 导致要重新滚动 才能找到
2019-10-17遇到相同问题,同求
关于自定义底部导航,第一次切换页面时,页面会闪烁?自定义底部导航,第一次切换页面时,页面会闪烁一下,custom-tab-bar内的index.js 的ready 会被执行两次。第二次就不会有这个问题,工具在版本2.5.0 不会出现这个问题,2.5.0以上的版本就会出现,客户端也是
2019-10-14遇到相同问题,同求
自定义底部导航栏,第一次点击导航按钮时导航会闪烁一下,如何解决?在自定义custom-tab-bar时,当编译之后,第一次点击切换tab时,tabbar会闪烁。给tabbar添加ready方法,发现第一次点击导航按钮时ready会被执行两次,从而导致tabbar闪烁,这应该如何解决?
2019-10-14同遇到相同问题,动画出现不能正常移动问题,另外,2.8.1正常,但是线上新版本微信v7.0.5打开2.8.1的小程序出现问题
微信小程序transform属性突然失效?已经发布的线上版本小程序,突然布局出现问题,开发者工具中没问题,手机上显示有问题,经排查,是transform属性未失效,大家都有这个问题么,还是就我这边有问题,主要也没发布新版本,今天突然就出现这个问题了,老板还过来追责,在线等,挺急的!
2019-09-11同求啊
小程序加急审核申请因小程序验证码的问题被打回,技术团队已于昨晚加班修复并再次提交,目前已无此问题。 已经过了1天的时间,现在还在审核中,正常很快就通过了~ 请微信审核人员周末审下,谢谢。
2019-06-22