百度智能小程序 語(yǔ)音識(shí)別

2020-09-05 14:16 更新

VoiceRecognizer

解釋?zhuān)赫Z(yǔ)音識(shí)別

方法參數(shù)

Object object


object 參數(shù)說(shuō)明

屬性名 類(lèi)型 默認(rèn)值 必填 說(shuō)明

mode

String

dnn

聽(tīng)音模式,有效值 dnn/touch 。

longSpeech

Boolean

false

是否開(kāi)啟長(zhǎng)語(yǔ)音

context

String

input

語(yǔ)音識(shí)別所用的場(chǎng)景值,有效值見(jiàn)下表格。

mode 有效值如下

參數(shù)值 說(shuō)明

dnn

自動(dòng)聽(tīng)音,默認(rèn)值。

touch

手動(dòng)聽(tīng)音(需要手動(dòng)調(diào)用 stop 方法才會(huì)停止語(yǔ)音識(shí)別)

context 有效值如下

參數(shù)值 說(shuō)明

input

輸入法場(chǎng)景

search

搜索場(chǎng)景值

屬性說(shuō)明

屬性名 說(shuō)明
VoiceRecognizer.start 開(kāi)始
VoiceRecognizer.stop 停止
VoiceRecognizer.cancel 取消
VoiceRecognizer.onStart 引擎準(zhǔn)備就緒
VoiceRecognizer.onRecognize 有識(shí)別結(jié)果返回
VoiceRecognizer.onFinish 識(shí)別完成
VoiceRecognizer.onError 識(shí)別遇到錯(cuò)誤

示例




圖片示例

代碼示例

// AI系列的api有宿主使用限制,只可在百度App中使用,建議使用時(shí)加一層判斷防止代碼報(bào)未知錯(cuò)誤
let host = swan.getSystemInfoSync().host;
if (host === 'baiduboxapp') {
    const voiceRecognizer = swan.ai.getVoiceRecognizer();
    voiceRecognizer.onStart(() => {
        console.log('voice start');
    });
    voiceRecognizer.onRecognize(res => {
        console.log('voice recognize', res);
    });
    voiceRecognizer.onFinish(res => {
        console.log('voice end', res);
    });
    voiceRecognizer.onError(err => {
        console.log('voice error', err);
    });
    const options = {
        mode: 'dnn',
        longSpeech: false
    };
    voiceRecognizer.start(options);
}
else {
    swan.showToast({
        title: '此api目前僅可在百度App上使用',
        icon: 'none'
    });
}

Bug & Tip

  • 長(zhǎng)語(yǔ)音時(shí),mode參數(shù)不生效,默認(rèn)為dnn(自動(dòng)聽(tīng)音)。 此模式下會(huì)自動(dòng)檢測(cè),不斷調(diào)用onRecognize返回中間識(shí)別結(jié)果,檢測(cè)到靜音(大概 5s)會(huì)自動(dòng)斷句,斷句后調(diào)用onFnish返回一句話的識(shí)別結(jié)果并添加標(biāo)點(diǎn)符號(hào)。在調(diào)用 stop后,才正式結(jié)束識(shí)別;
  • 自動(dòng)聽(tīng)音&短語(yǔ)音:開(kāi)始識(shí)別后,8s 內(nèi)沒(méi)有檢測(cè)到聲音,則結(jié)束識(shí)別并觸發(fā)onError;在說(shuō)話后,如 5s 內(nèi)未檢測(cè)到聲音,判定為靜音,會(huì)自動(dòng)結(jié)束識(shí)別,返回識(shí)別結(jié)果。如說(shuō)話超過(guò) 60s,觸發(fā)onError。
  • 手動(dòng)聽(tīng)音&短語(yǔ)音:開(kāi)始識(shí)別后,8s 內(nèi)沒(méi)有檢測(cè)到聲音,則結(jié)束識(shí)別并觸發(fā)onError;如說(shuō)話超過(guò) 60s,觸發(fā)onError;如時(shí)間未超過(guò) 60s,則可以一直記錄語(yǔ)音,直到調(diào)用stop,在onFinish中返回識(shí)別結(jié)果。


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)