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

2020-09-18 11:58 更新

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

說明

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

熱詞注冊

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

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

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

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

  1. eventKeys.addSynonyms("確定");

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

  1. Component.subscribeVoiceEvents(eventKeys);

  1. 如果一個 Component 有多個事件需要響應(yīng),需要創(chuàng)建不同的事件來進行注冊。

事件響應(yīng)

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

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

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

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號