微信小程序基於第三方插件微信同聲傳譯,以及一些問題解決辦法


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

 

 

詳情參照問題解決方案

 

 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM