微信小程序调用微信同声传译插件(中文识别)

微信小程序后台配置添加微信同声传译插件不再详述,具体可自行百度。
app.json添加这段代码:

  "plugins": {
    "WechatSI": {
      "version": "0.2.2",
      "provider": "wx069ba97219f66d99"
    }
  }

util.js中添加

var plugin = requirePlugin("WechatSI")

var innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.onError((res) => {
  // 播放音频失败的回调
})

function playTTS(text) {
  //need to add WXAPP plug-in unit: WechatSI
  plugin.textToSpeech({
    lang: "zh_CN",
    tts: true,
    content: text,
    success: function (res) {
      log("succ tts", res.filename)
      innerAudioContext.src = res.filename;
      innerAudioContext.play()
    },
    fail: function (res) {
      log("fail tts", res)
    }
  })
}

function stopTTS() {
  innerAudioContext.stop();
}

module.exports = {
  playTTS: playTTS,
  stopTTS: stopTTS,
}

新建页面,在新页面的js里面添加这段代码

// Page外
var pageSelf = undefined;
var plugin = requirePlugin("WechatSI")
let manager = plugin.getRecordRecognitionManager()
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    manager.onRecognize = function (res) {
      // console.log('manager.onRecognize')
      // console.log(res)
      // wx.showToast({
      //   title: res.result,
      // })
      // cons.log("current result", res.result)
    }
    manager.onStop = function (res) {
      console.log('manager.onStop')
      console.log(res)//语音识别信息打印
      wx.showToast({
        title: res.result,
      })
      // UTIL.log("record file path", res.tempFilePath)
      // UTIL.log("result", res.result)
      //res.result is the asr result, change the follow step to your source
      //NLI.process(res.result, pageSelf);
    }
    manager.onError = function (res) {
      console.log('manager.onError')
      console.log(res)//报错信息打印
      wx.showToast({
        title: res.msg,
      })
      // UTIL.log("error msg", res.msg)
    }
  },
  //添加两个方法
    touchdown_plugin: function() {
    var _this = this
    // UTIL.stopTTS();
    manager.start({
      duration: 30000,
      lang: "zh_CN"
    })
  },
  //手指松开
  touchup_plugin: function() {
    manager.stop();
    wx.showToast({
      title: '正在识别……',
      icon: 'loading',
      duration: 2000
    })
  },

在新页面的wxml里面添加这段代码

<button type="primary" style="border-radius: 20px;" class="btn-style" bindtouchstart="touchdown_plugin" bindtouchend="touchup_plugin">按下录音,松开结束button>

你可能感兴趣的:(微信小程序)