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


    使用之前首先得在微信微信小程序后台添加插件,获取插件的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
    需要进行特殊处理。处理办法就是修改

     

    详情参照问题解决方案

    
    
    
  • 相关阅读:
    mongoDB--1 概念
    PythonWeb-Django框架学习-Demo2-创建你的小WEB应用
    PythonWeb-Django框架学习-Demo1-快速搭建项目
    Python--Demo18--异步IO之协程
    Python--Demo17--WEB应用程序之模板和MVC
    Python--Demo16--WEB应用程序之框架的好处
    Python--Demo15--WEB应用程序WGSI接口
    快速了解HTTP协议
    Python--Demo14--正则表达式
    Python--Demo13--高级特性匿名函数、推导式、迭代器、生成器
  • 原文地址:https://www.cnblogs.com/bluesky1024/p/9506860.html
Copyright © 2020-2023  润新知