zoukankan      html  css  js  c++  java
  • 微信小程序基于第三方插件微信同声传译,以及一些问题解决办法

    使用之前首先得在微信微信小程序后台添加插件,获取插件的appid 名称

    使用时在app.json文件添加插件配置

    1 plugins: {
    2     WechatSI: {
    3         version: '0.1.0',
    4         provider: 'wx069ba97219f66d99'
    5     }
    6 }

    其次就是在使用的页面进行调用

    在index.js外部定义插件,并引入

    // 语音转文字
    var plugin = requirePlugin('WechatSI')
    let manager = plugin.getRecordRecognitionManager()

    其中的getRecordRecognitionManager()方法是可以直接使用

    wx.getRecordRecognitionManager()进行实例内部调用
    // 检测是否有语音并进行识别
        manager.onRecognize = function (res) {
          console.log('current result==', res.result)
         // 识别成功,停止识别
          manager.stop()
        }
        manager.onStart = function (res) {
          console.log('录音状态==', res.msg)
        }
        // 录音结束时,再次启动录音
        manager.onStop = function (res) {
          console.log('record file path', res.tempFilePath)
          // 停止识别,获取最后识别的结果
          console.log('result', res.result)
          // 如果识别的内容为空,则不加以其他逻辑处理减少后台交互
          if (res.result !== '') {
            // 如果语音识别内容为空时
            _this.sendMessage(res.result)
          }
          // 判断是否需要重启识别
          if (_this.isIdentify) {
           // 启动识别的必要参数设置
            manager.start({ duration: 30000, lang: 'zh_CN' })
          }
        }
        manager.onError = function (res) {
          console.error('error msg', res.msg)
        }
    
    

    需要的注意的是,本地调试时,manager.start() 事件需要在初始触发是,需要在页面渲染完毕后才能开启,否则会导致不知名报错,

    我们的项目暂时使用的wepy开发,所以对于使用了自定义的promise
    需要进行特殊处理。处理办法就是修改

     

    详情参照问题解决方案

    
    
    
  • 相关阅读:
    POJ 1436 Horizontally Visible Segments (线段树+区间覆盖)
    HDU 4671 Backup Plan (构造)
    POJ 3325 Help with Intervals (线段树(难))
    HDU 4649 Professor Tian (位运算 + 按位DP)
    HDU 4662 MU Puzzle (YY+枚举)
    HDU 4638 Group (线段树 + 离线)
    深入浅出Node.js (附录A)
    JS的变量声明和函数声明提升
    JS基础:翻转数组
    JS基础:求一组数中的最大最小值,以及所在位置
  • 原文地址:https://www.cnblogs.com/bluesky1024/p/9506860.html
Copyright © 2011-2022 走看看