可见即可说开发指导
可见即可说是要求Component中通过与热词关联,从而达到指定的效果。例如:在浏览图片时,说出图片的名字或角标序号,从而实现打开图片的效果。
说明
该功能目前仅在智慧屏产品上支持。
热词注册
开发者首先需要进行Component的热词注册,即告诉设备,哪些热词是这个Component所需要响应的。
构建Component.VoiceEvent对象,需要设置热词,中英文都可以。
Component.VoiceEvent eventKeys = new Component.VoiceEvent("ok");
如果一个Component的同一VoiceEvent存在多个热词匹配,可以通过addSynonyms方法增加eventKeys的热词。
eventKeys.addSynonyms("确定");
当Component.VoiceEvent对象操作完成后,使用Component的subscribeVoiceEvents方法来发起注册。
Component.subscribeVoiceEvents(eventKeys);
如果一个Component有多个事件需要响应,需要创建不同的事件来进行注册。
事件响应
开发者完成热词注册后,需要关注的是对应于不同热词所需要处理的事件。事件响应回调的SpeechEvent对象仅包含一个热词。
首先需要实现SpeechEventListener接口。
private Component.SpeechEventListener speechEventListener = new Component.SpeechEventListener( @Override public boolean onSpeechEvent(Component v, SpeechEvent event) { if (event.getActionProperty().equals("ok")) { ... // 检测注册的热词,进行相应的处理 }});
通过setSpeechEventListener方法实现回调注册。
Component.setSpeechEventListener(speechEventListener);