微信小程序 插件服務(wù)·微信同聲傳譯

2020-07-28 09:54 更新

微信同聲傳譯

微信同聲傳譯插件是微信自研的語音輸入,文本翻譯等功能的插件封裝,用于提供給第三方小程序調(diào)用。

體驗(yàn)入口

語音輸入

提供語音的實(shí)時流式識別能力。 通過獲取全局唯一的語音識別管理器recordRecoManager實(shí)現(xiàn)

recordRecoManager

recordRecoManager 對象的方法列表:

方法參數(shù)說明
startoptions開始識別
stop結(jié)束識別
onStartcallback正常開始錄音識別時會調(diào)用此事件
onRecognizecallback有新的識別內(nèi)容返回,則會調(diào)用此事件
onStopcallback識別結(jié)束事件
onErrorcallback識別錯誤事件

start(options)說明:

屬性類型必填默認(rèn)值說明
durationNumber60000指定錄音的時長,單位ms,最大為60000。如果傳入了合法的 duration ,在到達(dá)指定的 duration 后會自動停止錄音
langStringzh_CN識別的語言,目前支持zh_CN en_US zh_HK sichuanhua

onStart(callback)回調(diào)結(jié)果說明:

屬性類型說明
msgString默認(rèn)Ok

onStop(callback)回調(diào)結(jié)果說明:

屬性類型說明
tempFilePathString錄音臨時文件地址
durationNumber錄音總時長,單位: ms
fileSizeNumber文件大小,單位: B
resultString最終識別結(jié)果

onError(callback)回調(diào)結(jié)果說明:

屬性類型說明
retcodeInt錯誤碼
msgString錯誤信息

onRecognize(callback)回調(diào)結(jié)果說明:

屬性類型說明
resultString識別結(jié)果

onError錯誤碼說明:

錯誤碼說明
-30001錄音接口出錯
-30002錄音暫停接口被調(diào)用,錄音終止,識別終止
-30003錄音幀數(shù)據(jù)未產(chǎn)生或者發(fā)送失敗導(dǎo)致的數(shù)據(jù)傳輸失敗
-30004因網(wǎng)絡(luò)或者其他非正常狀態(tài)導(dǎo)致的未查詢識別結(jié)果
-30005語音識別服務(wù)內(nèi)部錯誤
-30006語音識別服務(wù)未在限定時間內(nèi)識別完成
-30007start啟動參數(shù)錯誤
-30008查詢請求時網(wǎng)絡(luò)失敗
-30009創(chuàng)建鑒權(quán)內(nèi)部失敗
-30010發(fā)送鑒權(quán)時網(wǎng)絡(luò)失敗
-30011試圖在識別正在進(jìn)行中是再次調(diào)用start,返回錯誤,正在進(jìn)行的識別任務(wù)正常進(jìn)行
-30012當(dāng)前無識別任務(wù)進(jìn)行時調(diào)用stop錯誤
-30013其他未知錯誤
-40001達(dá)到接口調(diào)用頻率限制

示例代碼:

//app.json
{
  ...
  "plugins": {
    ...
    "WechatSI": {
      "version": "0.0.7",
      "provider": "wx069ba97219f66d99"
        }
  }
}

//index.js
var plugin = requirePlugin("WechatSI")
let manager = plugin.getRecordRecognitionManager()
manager.onRecognize = function(res) {
    console.log("current result", res.result)
}
manager.onStop = function(res) {
    console.log("record file path", res.tempFilePath)
    console.log("result", res.result)
}
manager.onStart = function(res) {
    console.log("成功開始錄音識別", res)
}
manager.onError = function(res) {
    console.error("error msg", res.msg)
}
manager.start({duration:30000, lang: "zh_CN"})

文本翻譯

文本翻譯目前支持的語言有 zh_CN(中國大陸)  en_US(英語)

translate(OBJECT)

translate(object)說明:

參數(shù)名類型必填說明
lfromString文本語言 zh_CN(中國大陸)   en_US(英語)
ltoString目標(biāo)語言 zh_CN(中國大陸)  en_US(英語)
contentString需要被翻譯的文本內(nèi)容,后臺限制1000字節(jié)大小
ttsBoolean是否對翻譯結(jié)果進(jìn)行語音合成,默認(rèn)為false,不進(jìn)行語音合成
successFunction調(diào)用成功時觸發(fā)的callback
failFunction調(diào)用失敗時觸發(fā)的callback
completeFunction接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

success(callback)回調(diào)結(jié)果說明

屬性類型說明
retcodeIntretcode == 0 時翻譯成功
originString原始文本
resultString翻譯結(jié)果
filenameString語音合成返回的語音地址,僅支持合成中文語音
expired_timeInt語音合成鏈接超時時間戳 如1525930552超時后無法播放,可使用時間為3小時

success返回碼說明: 翻譯成功,合成失敗時調(diào)用success回調(diào)

狀態(tài)碼說明
0翻譯合成成功
-10006翻譯成功,合成內(nèi)部錯誤
-10007翻譯成功,傳入了不支持的語音合成語言
-10008翻譯成功,語音合成達(dá)到頻率限制

fail(callback)回調(diào)結(jié)果說明

屬性類型說明
retcodeInt錯誤碼
msgString錯誤信息

fail錯誤碼說明:

錯誤碼說明
-10001語言檢查錯誤
-10002輸入的待翻譯內(nèi)容格式不正確
-10003傳入過長的待翻譯文本內(nèi)容
-10004翻譯內(nèi)部邏輯錯誤
-10005請求發(fā)送失敗,請檢查網(wǎng)絡(luò)
-40001接口調(diào)用頻率達(dá)到限制,請聯(lián)系插件開發(fā)者

示例代碼

plugin.translate({
  lfrom:"en_US",
  lto:"zh_CN",
  content:"hello, this is the first time to test?",
  success: function(res) {
    if(res.retcode == 0) {
      console.log("result", res.result)
    } else {
      console.warn("翻譯失敗", res)
    }
  },
  fail: function(res) {
    console.log("網(wǎng)絡(luò)失敗",res)
  }
})

語音合成

語音合成支持的語言有 zh_CN(中國大陸),en_US(英文)

textToSpeech(OBJECT)

textToSpeech(object)說明:

參數(shù)名類型必填說明
langString文本語言 zh_CN(中國大陸)en_US(英文)
contentString需要被翻譯的文本內(nèi)容,后臺限制1000字節(jié)大小
successFunction調(diào)用成功時觸發(fā)的callback
failFunction調(diào)用失敗時觸發(fā)的callback

success(callback)回調(diào)結(jié)果說明

屬性類型說明
retcodeIntretcode == 0 時請求成功
originString原始文本
filenameString語音合成返回的語音地址,可自行下載使用
expired_timeInt語音合成鏈接超時時間戳 如1525930552,超時后無法播放,可使用時間為3小時

success返回碼說明:

狀態(tài)碼說明
0語音合成成功

fail(callback)回調(diào)結(jié)果說明

屬性類型說明
retcodeInt錯誤碼
msgString錯誤信息

fail錯誤碼說明:

錯誤碼說明
-20001語音合成語言格式出錯
-20002輸入的待合成格式不正確
-20003語音合成內(nèi)部錯誤
-20005網(wǎng)絡(luò)錯誤
-40001接口調(diào)用頻率達(dá)到限制,請聯(lián)系插件開發(fā)者

示例代碼

plugin.textToSpeech({
    lang: "zh_CN",
    tts: true,
    content: "一個常見的需求",
    success: function(res) {
        console.log("succ tts", res.filename)   
    },
    fail: function(res) {
        console.log("fail tts", res)
    }
})

版本要求

基礎(chǔ)庫版本 >= 1.9.94

  • 使用插件,需要基礎(chǔ)庫版本 >= 1.9.6
  • 插件內(nèi)調(diào)用wx.getRecorderManager接口,需要基礎(chǔ)庫版本 >= 1.9.94

配額說明

由于資源限制,當(dāng)前各個接口調(diào)用存在配額限制,如業(yè)務(wù)有特殊更多需求,請郵箱聯(lián)系roytianzou@tencent.com申請,郵件配額模版如下。 語音輸入配額:每個小程序250條/分鐘,3w條/天。 文本翻譯配額:每個小程序500次/分鐘,10w次/天。 語音合成配額:每個小程序100次/分鐘,2w次/天。

配額申請模版

公司簡介:(個人則填寫個人)

小程序簡介:

小程序appid:

申請接口名:

當(dāng)前用戶量:(當(dāng)前未上線可填無)

當(dāng)前調(diào)用量:(當(dāng)前未上線可填無)

申請配額: xx 次/分鐘, xx次/天。

合理的配額推導(dǎo)(請?zhí)峁┦褂脠鼍埃A(yù)期用戶量,用戶使用頻率,高峰時段,平均時長/字?jǐn)?shù)):


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號