- 小程序增加了B2b类目,需要B2B专用商户号交易,删除这个类目以后 需要哪些申请嘛? 原支付不能用
[图片]
07-24 - 微信小程序通过websocket实现实时语音识别
之前在研究百度的实时语音识别,并应用到了微信小程序中,写篇文章分享一下。 先看看完成的效果吧 [图片] 前置条件 申请百度实时语音识别key 百度AI接入指南 创建小程序 设置小程序录音参数 在index.js中输入 [代码] const recorderManager = wx.getRecorderManager() const recorderConfig = { duration: 600000, frameSize: 5, //指定当录音大小达到5KB时触发onFrameRecorded format: 'PCM', //文档中没写这个参数也可以触发onFrameRecorded的回调,不过楼主亲测可以使用 sampleRate: 16000, encodeBitRate: 96000, numberOfChannels: 1 } [代码] 使用websocket连接 [代码] linkSocket() { let _this = this //这里的sn是百度实时语音用于排查日志,这里我图方便就用时间戳了 let sn = new Date().getTime() wx.showLoading({ title: '识别中...' }) recorderManager.start(recorderConfig) //开启链接 wx.connectSocket({ url: 'wss://vop.baidu.com/realtime_asr?sn=' + sn, protocols: ['websocket'], success() { console.log('连接成功') _this.initEventHandle() } }) }, //监听websocket返回的数据 initEventHandle() { let _this = this wx.onSocketMessage((res) => { let result = JSON.parse(res.data.replace('\n','')) if(result.type == 'MID_TEXT'){ _this.setData({ textDis: 'none', value: result.result, }) } if(result.type == 'FIN_TEXT'){ let value = _this.data.text let tranStr = value + result.result _this.setData({ value: '', valueEn: '', textDis: 'block', text: tranStr, }) } }) wx.onSocketOpen(() => //发送数据帧 _this.wsStart() console.log('WebSocket连接打开') }) wx.onSocketError(function (res) { console.log('WebSocket连接打开失败') }) wx.onSocketClose(function (res) { console.log('WebSocket 已关闭!') }) }, [代码] 发送开始、音频数据、结束帧 [代码] wsStart() { let config = { type: "START", data: { appid: XXXXXXXXX,//百度实时语音识别appid appkey: "XXXXXXXXXXXXXXXXXX",//百度实时语音识别key dev_pid: 15372, cuid: "cuid-1", format: "pcm", sample: 16000 } } wx.sendSocketMessage({ data:JSON.stringify(config), success(res){ console.log('发送开始帧成功') } }) }, wsSend(data){ wx.sendSocketMessage({ data:data, success(res){ console.log('发送数据帧成功') } }) }, wsStop(){ let _this = this this.setData({ click: true, }) let config = { type: "FINISH" } wx.hideLoading() recorderManager.stop() wx.sendSocketMessage({ data:JSON.stringify(config), success(res){ console.log('发送结束帧成功') } }) }, [代码] 小程序录音回调 [代码] onShow: function () { let _this = this recorderManager.onFrameRecorded(function (res){ let data = res.frameBuffer _this.wsSend(data) }) recorderManager.onInterruptionBegin(function (res){ console.log('录音中断') _this.wsStopForAcc() }) recorderManager.onStop(function (res){ console.log('录音停止') }) }, wsStopForAcc(){ let _this = this this.setData({ click: true, }) let config = { type: "FINISH" } wx.sendSocketMessage({ data:JSON.stringify(config), success(res){ wx.hideLoading() console.log('发送结束帧成功') } }) }, [代码]
2020-08-20 - 小程序获取位置隐私保护已设置,仍提示无未声明fail-api作用域?
小程序获取位置隐私保护已设置,并通过审核,但是调用API时仍提示"errMsg":"getLocation:fail api scope is not declared in the privacy agreement","errno":112。 更新:提示变成{"errMsg":"getLocation:fail privacy permission is not authorized","errno":104}了。 [图片]
2023-08-16 - 微信小程序中遮罩层的滚动穿透问题
小程序的自定义的,遮罩层会出现滚动穿透的问题,即遮罩层下面的页面依旧可以滚动,这个问题有解决办法吗?
2017-09-25 - 怎么开通发货信息管理
无法开通小程序发货信息管理服务 [图片]
2023-07-12 - wx.requestPayment返回fail check ticket rejected?
[图片] 小程序体验版和开发版都能正常唤起收银台,线上小程序唤起wx.requestPayment就返回了fail check ticket rejected,当前没有使用自定义交易组件的场景也会报这个错吗?
2022-06-15 - map组件的controls控件不显示?
https://developers.weixin.qq.com/s/2yzO4OmL73r9
2021-07-15 - 小程序path页面后面参数能带多长?
各位好,我想问下,有关于小程序 页面 路径 path后面能连带多长参数?有限制吗? 例如:pages/index/index?name='abc....' 这个name的值 能带多长? 有限制吗?因为我们这有个需求需要把用户信息加密,加密完后的字符串非常长,想咨询下,如果从其他小程序跳转带到我这里的时候,会不会由于过长而无法携带?谢谢!
2019-07-23