vsl介绍
更新时间:2021-11-25
一、百度车载小程序语音能力实现分为以下三种
- 打开关闭小程序:
在小程序创建的时候开发者可以定制拉起的 query,如果没有填写,框架默认通过命中小程序 appname 拉起;
对于关闭小程序,框架会默认支持 - 语音触摸屏
小程序开发时在swan文件中添加vsl 标签即可通过语音控制view;一般情况下界面上展示的内容需要支持语音操控,可选择这种方式 - 一语直达三种方式
一般指用户通过一句话完成任务的多个步骤,或者需要这个语音指令全局生效的时候需要用到一语直达;一语直达功能可以在开发者平台进行开发
二、vsl 语法
- voice-type
事件类型,可配置类型参考语音支持的action标签列表 - voice-tag
文本标签,可选填 - voice-name
控件的类型,比如input 控件 - voice-index
控件所在的列表中的下标,ps:第一个下标从1开始,而不是0; - bindvsl 语音指令回调,开发者可以通过bindvsl绑定自己的语音指令回调函数,如果不绑定,框架会触发bindtap绑定的函数
- voice-autolisten
设置命中该指令后是否需要继续监听,如果设置为true,则命中这条指令后会自动开启识别,在播报tts 的同时用户可以继续说后面的指令,做到任意打断;如果不设置或者设置为false,则不会自动监听,需要重新唤醒 - voice-config
额外配置 暂时不实现 - bindOnRefresh
绑定一语直达指令监听,如果页面已经被打开,一语直达指令命中后还需要打开这个页面,则框架不会重新打开这个页面,会通过bindOnRefresh绑定的 函数透传参数,在绑定的监听函数里获取参数刷新页面;例如 <iovauto-vsl bindOnRefresh="onRefresh"。 - slot-name
slot-name和slot-value一般配合使用;例如:slot-name="SLOT_GAS_STATION" slot-value='121' - addVSL 函数
在有些业务中,UI上并没有真实存在的View,没办法添加属性标签。这种情况下可以通过调用addVSL函数 添加你需要监听的指令 -
speak 函数
处理完语音指令后需要有TTS 提示用户,开发者可以通过调用speak函数完成tts播报,speak函数的使用可以参考speak函数的介绍// 调用speak 进行tts 播报,接口所传的参数为 需要播报的内容 swan.iovauto.speak('tts text')