阅读(885) (8)

百度智能小程序 语音识别

2020-09-02 16:54:11 更新

voice-recognizer 语音识别

解释:语音识别,支持短语音和长语音两种模式,并可配置手动听音等功能。暂不支持 web 化。

属性说明

属性名 类型 必填 默认值 说明

longSpeech

Boolean

false

是否开启长语音,默认不开启,长语音模式(此模式不限制收音时长,适用于长字段输入),短语音模式(此模式支持60秒以内识别,适用于短字段输入)

mode

String

dnn

听音模式,dnn(此模式自动听音,默认值),touch(此模式手动听音,需要手动调用stop方法才会停止语音识别)

context

String

input

语音识别所用的场景值,input(输入法场景),search(搜索场景值)

defaultText

String

正在聆听中…

语音文案

showPanel

Boolean

false

是否要展示语音面板,需要使用双向绑定 show-panel="{= showPanel =}"

smt-voice-panel

String

提供语音识别扩展样式类,供开发者自定义组件样式,可通过此 class 改变语音面板外层样式

smt-mark

String

提供语音识别扩展样式类,供开发者自定义组件样式,可通过此 class 改变蒙层样式

smt-btn-voice

String

提供语音识别扩展样式类,供开发者自定义组件样式,可通过此 class 改变底部button样式

smt-word-box

String

提供语音识别扩展样式类,供开发者自定义组件样式,可通过此 class 改变提示文案样式

bind:stop

EventHandle

语音识别结束事件,事件详情为识别内容

bind:cancelend

EventHandle

语音识别面板关闭事件

示例 

在开发者工具中打开


代码示例

<view bind:tap="tap">点击开始语音识别</view>
<smt-voice-recognizer
    smt-voice-panel="smt-voice-panel"
    smt-mark="smt-mark"
    smt-button-voice="smt-btn-voice"
    smt-word-box="smt-word-box"
    show-panel="{= showPanel =}"
    bindstop="getCont"
    longSpeech="{{true}}"
    bindcancelend="cancelEnd"
    hasTabBar="{{false}}"
/>
Page({
    data: {
        // 面板显示影藏
        showPanel: false,

        // 识别到的内容
        content: ''
    },
    tap() {
        this.setData(showPanel, true);
    },
    getCont(e) {
        console.log(e.content, '语音识别内容');
        this.setData(content: e.content);
    },
    cancelEnd() {
        this.setData(showPanel, false);
    }
});
.smt-voice-panel {
    <!-- 此处可自定义语音面板外层样式 -->
}

.smt-mark {
    <!-- 此处可自定义蒙层样式 -->
}

.smt-btn-voice {
    <!-- 此处可自定义底部button样式 -->
}

.smt-word-box {
    <!-- 此处可自定义提示文案样式 -->
}
{
    "navigationBarTitleText": "语音识别",
    "usingComponents": {
        "smt-voice-recognizer": "@smt-ui/component/src/voice-recognizer"
    }
}