HarmonyOS-鸿蒙app开发 —可见即可说开发指导

HarmonyOS-鸿蒙app开发 —可见即可说开发指导

可见即可说是要求Component中通过与热词关联,从而达到指定的效果。例如:在浏览图片时,说出图片的名字或角标序号,从而实现打开图片的效果。

说明

该功能目前仅在智慧屏产品上支持。

热词注册

开发者首先需要进行Component的热词注册,即告诉设备,哪些热词是这个Component所需要响应的。

  1. 构建Component.VoiceEvent对象,需要设置热词,中英文都可以。
Component component = new Component(getContext());
component.VoiceEvent eventKeys = new Component.VoiceEvent("ok");

如果一个Component的同一VoiceEvent存在多个热词匹配,可以通过addSynonyms方法增加eventKeys的热词。

eventKeys.addSynonyms("确定");

当Component.VoiceEvent对象操作完成后,使用Component的subscribeVoiceEvents方法来发起注册。

component.subscribeVoiceEvents(eventKeys);
  1. 如果一个Component有多个事件需要响应,需要创建不同的事件来进行注册。

事件响应

开发者完成热词注册后,需要关注的是对应于不同热词所需要处理的事件。事件响应回调的SpeechEvent对象仅包含一个热词。

  1. 首先需要实现SpeechEventListener接口。
    private Component.SpeechEventListener speechEventListener = new Component.SpeechEventListener(){
        @Override
        public boolean onSpeechEvent(Component v, SpeechEvent event) {
            if (event.getActionProperty().equals("ok")) {
                ... // 检测注册的热词,进行相应的处理
            }
            return false;
      };
    }
    
    通过setSpeechEventListener方法实现回调注册。
    
    component.setSpeechEventListener(speechEventListener);
    5 1 投票
    文章评分
    订阅评论
    提醒
    0 评论
    内联反馈
    查看所有评论
    0
    希望看到您的想法,请您发表评论x