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

2020-07-28 09:54 更新

微信同聲傳譯

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

體驗(yàn)入口

語(yǔ)音輸入

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

recordRecoManager

recordRecoManager 對(duì)象的方法列表:

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

start(options)說(shuō)明:

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

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

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

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

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

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

屬性類型說(shuō)明
retcodeInt錯(cuò)誤碼
msgString錯(cuò)誤信息

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

屬性類型說(shuō)明
resultString識(shí)別結(jié)果

onError錯(cuò)誤碼說(shuō)明:

錯(cuò)誤碼說(shuō)明
-30001錄音接口出錯(cuò)
-30002錄音暫停接口被調(diào)用,錄音終止,識(shí)別終止
-30003錄音幀數(shù)據(jù)未產(chǎn)生或者發(fā)送失敗導(dǎo)致的數(shù)據(jù)傳輸失敗
-30004因網(wǎng)絡(luò)或者其他非正常狀態(tài)導(dǎo)致的未查詢識(shí)別結(jié)果
-30005語(yǔ)音識(shí)別服務(wù)內(nèi)部錯(cuò)誤
-30006語(yǔ)音識(shí)別服務(wù)未在限定時(shí)間內(nèi)識(shí)別完成
-30007start啟動(dòng)參數(shù)錯(cuò)誤
-30008查詢請(qǐng)求時(shí)網(wǎng)絡(luò)失敗
-30009創(chuàng)建鑒權(quán)內(nèi)部失敗
-30010發(fā)送鑒權(quán)時(shí)網(wǎng)絡(luò)失敗
-30011試圖在識(shí)別正在進(jìn)行中是再次調(diào)用start,返回錯(cuò)誤,正在進(jìn)行的識(shí)別任務(wù)正常進(jìn)行
-30012當(dāng)前無(wú)識(shí)別任務(wù)進(jìn)行時(shí)調(diào)用stop錯(cuò)誤
-30013其他未知錯(cuò)誤
-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("成功開(kāi)始錄音識(shí)別", res)
}
manager.onError = function(res) {
    console.error("error msg", res.msg)
}
manager.start({duration:30000, lang: "zh_CN"})

文本翻譯

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

translate(OBJECT)

translate(object)說(shuō)明:

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

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

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

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

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

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

屬性類型說(shuō)明
retcodeInt錯(cuò)誤碼
msgString錯(cuò)誤信息

fail錯(cuò)誤碼說(shuō)明:

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

語(yǔ)音合成

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

textToSpeech(OBJECT)

textToSpeech(object)說(shuō)明:

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

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

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

success返回碼說(shuō)明:

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

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

屬性類型說(shuō)明
retcodeInt錯(cuò)誤碼
msgString錯(cuò)誤信息

fail錯(cuò)誤碼說(shuō)明:

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

示例代碼

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

版本要求

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

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

配額說(shuō)明

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

配額申請(qǐng)模版

公司簡(jiǎn)介:(個(gè)人則填寫(xiě)個(gè)人)

小程序簡(jiǎn)介:

小程序appid:

申請(qǐng)接口名:

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

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

申請(qǐng)配額: xx 次/分鐘, xx次/天。

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)