鴻蒙OS 可見即可說開發(fā)指導(dǎo)

2020-09-18 11:58 更新

可見即可說是要求 Component 中通過與熱詞關(guān)聯(lián),從而達(dá)到指定的效果。例如:在瀏覽圖片時(shí),說出圖片的名字或角標(biāo)序號,從而實(shí)現(xiàn)打開圖片的效果。

說明

該功能目前僅在智慧屏產(chǎn)品上支持。

熱詞注冊

開發(fā)者首先需要進(jìn)行 Component 的熱詞注冊,即告訴設(shè)備,哪些熱詞是這個(gè) Component 所需要響應(yīng)的。

  1. 構(gòu)建 Component.VoiceEvent 對象,需要設(shè)置熱詞,中英文都可以。

   Component.VoiceEvent eventKeys = new Component.VoiceEvent("ok");

  1. 如果一個(gè) Component 的同一 VoiceEvent 存在多個(gè)熱詞匹配,可以通過 addSynonyms 方法增加 eventKeys 的熱詞。

   eventKeys.addSynonyms("確定");

  1. 當(dāng) Component.VoiceEvent 對象操作完成后,使用 Component 的 subscribeVoiceEvents 方法來發(fā)起注冊。

   Component.subscribeVoiceEvents(eventKeys);

  1. 如果一個(gè) Component 有多個(gè)事件需要響應(yīng),需要?jiǎng)?chuàng)建不同的事件來進(jìn)行注冊。

事件響應(yīng)

開發(fā)者完成熱詞注冊后,需要關(guān)注的是對應(yīng)于不同熱詞所需要處理的事件。事件響應(yīng)回調(diào)的SpeechEvent對象僅包含一個(gè)熱詞。

  1. 首先需要實(shí)現(xiàn) SpeechEventListener 接口。

   private Component.SpeechEventListener speechEventListener = new Component.SpeechEventListener(
       @Override
       public boolean onSpeechEvent(Component v, SpeechEvent event) {
           if (event.getActionProperty().equals("ok")) {
               ... // 檢測注冊的熱詞,進(jìn)行相應(yīng)的處理
           }
   });

  1. 通過 setSpeechEventListener 方法實(shí)現(xiàn)回調(diào)注冊。

   Component.setSpeechEventListener(speechEventListener);
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號