com.aispeech.dui.dds.agent.wakeup

## Class WakeupEngine

- java.lang.Object
- - com.aispeech.dui.dds.agent.wakeup.WakeupEngine

-     public class WakeupEngine
      extends java.lang.Object

  Created by nemo on 18-1-9.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `WakeupEngine(java.lang.String lBridgeAddr)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCommandWakeupWord(java.lang.String[] actions, java.lang.String[] words, java.lang.String[] pinyin, java.lang.String[] threshold, java.lang.String[][] greetings)` Deprecated.
    `void` | `addCommandWakeupWord(WakeupWord wakeupWord)` 添加一条命令唤醒词，且不会覆盖之前的命令唤醒词
    `void` | `addCommandWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 添加多条命令唤醒词，且不会覆盖之前的命令唤醒词
    `void` | `addMainWakeupWord(java.lang.String[] words, java.lang.String[] pinyin, java.lang.String[] threshold, java.lang.String[][] greetings)` Deprecated.
    `void` | `addMainWakeupWord(WakeupWord wakeupWord)` 添加一条主唤醒词
    `void` | `addMainWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 添加多条主唤醒词
    `void` | `addQuickStartWords(java.util.List<WakeupWord> wakeupWordList)` 添加多条QuickStart词 QuickStart词为类似“导航去”、“我想听”等，此类唤醒词只在oneshot模式下生效， 作用为在未唤醒状态下语音输入“导航去天安门”，可直接进入对话流程。
    `void` | `addShortcutWakeupWord(java.lang.String[] words, java.lang.String[] pinyin, java.lang.String[] threshold)` Deprecated.
    `void` | `addShortcutWakeupWord(WakeupWord wakeupWord)` 添加一条新的打断唤醒词，且不会覆盖之前的唤醒词
    `void` | `addShortcutWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 添加多条新的打断唤醒词，且不会覆盖之前的唤醒词
    `void` | `catchWakeupResult(boolean isCatch)` 拦截唤醒结果 wakeup.result,
    `void` | `clearCommandWakeupWord()` 清空命令唤醒词的接口
    `void` | `clearIncrementCommandWakeupWord()` 清空命令唤醒词的接口
    `void` | `clearIncrementShortCutWakeupWord()` 清空 本地增量识别 打断唤醒词的接口
    `void` | `clearIncrementWakeupWord()` 移除所有本地热词
    `void` | `clearMainWakeupWord()` 清空主唤醒词的接口
    `void` | `clearQuickStartWords()` 清空QuickStart词的接口
    `void` | `clearShortCutWakeupWord()` 清空打断唤醒词的接口
    `void` | `destroy()`
    `void` | `disableCommandWakeupWord()` 设置快捷命令唤醒词不可唤醒
    `void` | `disableMainWakeupWord()` 设置主唤醒词不可唤醒
    `void` | `disableMinorWakeupWord()` 设置副唤醒词不可唤醒
    `void` | `disableOneShot()` 关闭oneshot
    `void` | `disableShortCutWakeupWord()` 设置打断唤醒词不可唤醒
    `void` | `disableWakeup()` 关闭唤醒
    `void` | `enableCommandWakeupWord()` 设置快捷命令唤醒词可唤醒，默认开启 (在已经调用enableWakeup的情况下临时使用, disableWakeup情况下无效)
    `void` | `enableMainWakeupWord()` 设置主唤醒词可唤醒，默认开启 (在已经调用enableWakeup的情况下临时使用, disableWakeup情况下无效)
    `void` | `enableMinorWakeupWord()` 设置副唤醒词可唤醒，默认开启 (在已经调用enableWakeup的情况下临时使用, disableWakeup情况下无效)
    `void` | `enableNearWakeup(boolean enable)` 动态切换就近唤醒功能(暂时支持线性双麦/线性四麦) 此接口在设置DDSConfig.K_USE_NEAR_WAKEUP为true时生效
    `void` | `enableOneShot()` 开启oneshot
    `void` | `enableShortCutWakeupWord()` 设置打断唤醒词可唤醒，默认开启 (在已经调用enableWakeup的情况下临时使用, disableWakeup情况下无效)
    `void` | `enableWakeup()` 开启唤醒
    `void` | `enableWakeupWhenAsr(boolean enable)` 是否允许识别过程中响应唤醒
    `static WakeupEngine` | `getInstance()`
    `static WakeupEngine` | `getInstance(java.lang.String lBridgeAddr)` 获取WakeupEngine
    `static WakeupEngine` | `getInstanceSnapshot()` 获取 WakeupEngine 实例快照
    `java.util.List<WakeupWord>` | `getMainWakeupWords()` 获取主唤醒词列表，默认返回WakeupEngine所设置的主唤醒词，如果没有设置过则返回产品配置的主唤醒词。
    `java.lang.String` | `getMinorWakeupWord()` 获取当前的副唤醒词
    `boolean` | `getOneshotState()` 获取当前oneshot开关状态，如果有本地接口调用开关，以本地接口调用优先。
    `java.lang.String` | `getWakeupVersion()` 获取当前唤醒库版本号
    `java.lang.String[]` | `getWakeupWords()` 获取当前的唤醒词
    `void` | `removeCommandWakeupWord(java.lang.String[] words)` Deprecated.
    `void` | `removeCommandWakeupWord(WakeupWord wakeupWord)` 移除一条指定的命令唤醒词
    `void` | `removeCommandWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 移除一条指定的命令唤醒词
    `void` | `removeMainWakeupWord(java.lang.String[] words)` Deprecated.
    `void` | `removeMainWakeupWord(WakeupWord wakeupWord)` 移除一条指定的主唤醒词
    `void` | `removeMainWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 移除多条指定的主唤醒词
    `void` | `removeQuickStartWord(WakeupWord wakeupWord)` 移除一条指定的QuickStart词
    `void` | `removeQuickStartWords(java.util.List<WakeupWord> wakeupWordList)` 移除多条指定的QuickStart词
    `void` | `removeShortcutWakeupWord(java.lang.String[] words)` Deprecated.
    `void` | `removeShortcutWakeupWord(WakeupWord wakeupWord)` 移除一条指定的打断唤醒词
    `void` | `removeShortcutWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 移除多条指定的打断唤醒词
    `void` | `setBfListener(BfListener listener)` 设置Beamforming监听器, 时时回调Beamforming音频
    `void` | `setLpSwitch(boolean mode)` Deprecated.
    `void` | `setNearWakeupParams(org.json.JSONObject paramsObj)` 设置就近唤醒参数与调度参数 仅在就近唤醒状态下生效(线双麦/线四麦)
    `void` | `setVoipListener(VoipListener listener)` 设置voip监听器, 时时回调voip音频
    `void` | `setWakeupCallback(WakeupCallback wakeupCallback)` 设置自定义欢迎语的回调
    `void` | `setWakeupDoa(int doa)` 修改唤醒增强角度
    `void` | `setWakeupMode(int mode)` 修改驾驶模式
    `void` | `setWakeupSwitch(boolean mode)` 设置是唤醒模块的模式(信号处理不变,环麦中暂不支持)
    `void` | `updateCommandWakeupWord(java.lang.String[] actions, java.lang.String[] words, java.lang.String[] pinyin, java.lang.String[] threshold, java.lang.String[][] greetings)` Deprecated.
    `void` | `updateCommandWakeupWord(WakeupWord wakeupWord)` 更新一条命令唤醒词的接口，这类唤醒词会在唤醒之后执行一条指令，不能打断正在播报的语音
    `void` | `updateCommandWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 更新多条命令唤醒词的接口，这类唤醒词会在唤醒之后执行一条指令，不能打断正在播报的语音
    `void` | `updateMainWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 更新多条主唤醒词的接口，覆盖原有的主唤醒词
    `void` | `updateMinorWakeupWord(java.lang.String word, java.lang.String pinyin, java.lang.String threshold, java.lang.String[] greetings)` Deprecated.
    `void` | `updateMinorWakeupWord(WakeupWord wakeupWord)` 更新副唤醒词的接口
    `void` | `updateQuickStartWords(java.util.List<WakeupWord> wakeupWordList)` 更新多条QuickStart词的接口，覆盖原有的QuickStart词
    `void` | `updateShortcutWakeupWord(java.lang.String[] words, java.lang.String[] pinyin, java.lang.String[] threshold)` Deprecated.
    `void` | `updateShortcutWakeupWord(WakeupWord wakeupWord)` 更新一条打断唤醒词的接口,这类唤醒词能打断正在播报的语音并且将唤醒词送入识别
    `void` | `updateShortcutWakeupWords(java.util.List<WakeupWord> wakeupWordList)` 更新多条打断唤醒词的接口,这类唤醒词能打断正在播报的语音并且将唤醒词送入识别
    `void` | `updateWakeupWords(java.util.List<WakeupWordIntent> intents)` 更新唤醒词,合并请求
    `void` | `updateWkupRouter(java.lang.String type)` 动态设置对话模式

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### WakeupEngine

          protected WakeupEngine(java.lang.String lBridgeAddr)

  - ### Method Detail

    - #### getInstance

          public static WakeupEngine getInstance()

    - #### setWakeupCallback

          public void setWakeupCallback(WakeupCallback wakeupCallback)

      设置自定义欢迎语的回调
      Parameters:
        `wakeupCallback` - 自定义唤醒的回调

    - #### setVoipListener

          public void setVoipListener(VoipListener listener)
                               throws DDSNotInitCompleteException

      设置voip监听器, 时时回调voip音频
      Parameters:
        `listener` -
      Throws:
        `DDSNotInitCompleteException`

    - #### setBfListener

          public void setBfListener(BfListener listener)
                             throws DDSNotInitCompleteException

      设置Beamforming监听器, 时时回调Beamforming音频
      Parameters:
        `listener` -
      Throws:
        `DDSNotInitCompleteException`

    - #### getInstance

          public static WakeupEngine getInstance(java.lang.String lBridgeAddr)

      获取WakeupEngine
      Parameters:
        `lBridgeAddr` - 指定busserver地址
      Returns:
        WakeupEngine实例

    - #### getInstanceSnapshot

          public static WakeupEngine getInstanceSnapshot()

      获取 WakeupEngine 实例快照
      Returns:
        WakeupEngine

    - #### setWakeupDoa

          public void setWakeupDoa(int doa)
                            throws DDSNotInitCompleteException

      修改唤醒增强角度

      Parameters:
        `doa` - 角度
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### setWakeupMode

          public void setWakeupMode(int mode)
                             throws DDSNotInitCompleteException

      修改驾驶模式

      Parameters:
        `mode` - 驾驶模式, 0:定位模式, 1：主驾模式, 2: 副驾模式 3：全车模式
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addMainWakeupWord

          @Deprecated
          public void addMainWakeupWord(java.lang.String[] words,
                                                    java.lang.String[] pinyin,
                                                    java.lang.String[] threshold,
                                                    java.lang.String[][] greetings)
                                             throws DDSNotInitCompleteException

      Deprecated.
      添加主唤醒词的接口

      支持添加多个主唤醒词，调用此接口会覆盖控制台配置的主唤醒词，直到通过removeMainWakeupWord接口移除。

      Parameters:
        `words` - 主唤醒词，不为null
        `pinyin` - 主唤醒词的拼音，不为null
        `threshold` - 主唤醒词的阈值，不为null
        `greetings` - 主唤醒词的欢迎语，不为null；如果某个唤醒词不想要欢迎语，在对应的维度设为null
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addMainWakeupWord

          public void addMainWakeupWord(WakeupWord wakeupWord)
                                 throws DDSNotInitCompleteException

      添加一条主唤醒词

      调用此接口会覆盖控制台配置的主唤醒词，直到通过removeMainWakeupWord接口移除。

      Parameters:
        `wakeupWord` - 唤醒词业对象

        必填参数:

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

        选填参数:

        greeting: 唤醒词的欢迎语, 若不设置，则与主唤醒词保持一致

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addMainWakeupWords

          public void addMainWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                  throws DDSNotInitCompleteException

      添加多条主唤醒词

      调用此接口会覆盖控制台配置的主唤醒词，直到通过removeMainWakeupWord接口移除。

      Parameters:
        `wakeupWordList` - 唤醒词业对象集合

        必填参数:

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

        选填参数:

        greeting: 唤醒词的欢迎语, 若不设置，则与主唤醒词保持一致

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeMainWakeupWord

          @Deprecated
          public void removeMainWakeupWord(java.lang.String[] words)
                                                throws DDSNotInitCompleteException

      Deprecated.
      移除指定的主唤醒词

      如果移除了所有通过addMainWakeupWord接口添加的主唤醒词，则主唤醒词重置为控制台所配置的

      Parameters:
        `words` - 主唤醒词的汉字（必须）
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### clearIncrementCommandWakeupWord

          public void clearIncrementCommandWakeupWord()
                                               throws DDSNotInitCompleteException

      清空命令唤醒词的接口
      Throws:
        `DDSNotInitCompleteException`

    - #### clearIncrementShortCutWakeupWord

          public void clearIncrementShortCutWakeupWord()
                                                throws DDSNotInitCompleteException

      清空 本地增量识别 打断唤醒词的接口
      Throws:
        `DDSNotInitCompleteException`

    - #### clearIncrementWakeupWord

          public void clearIncrementWakeupWord()
                                        throws DDSNotInitCompleteException

      移除所有本地热词
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeMainWakeupWord

          public void removeMainWakeupWord(WakeupWord wakeupWord)
                                    throws DDSNotInitCompleteException

      移除一条指定的主唤醒词

      如果移除了所有通过addMainWakeupWord接口添加的主唤醒词，则主唤醒词重置为控制台所配置的

      Parameters:
        `wakeupWord` - 唤醒词的对象

        必填参数:

        word: 唤醒词的汉字

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeMainWakeupWords

          public void removeMainWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                     throws DDSNotInitCompleteException

      移除多条指定的主唤醒词

      如果移除了所有通过addMainWakeupWord接口添加的主唤醒词，则主唤醒词重置为控制台所配置的

      Parameters:
        `wakeupWordList` - 唤醒词的对象集合

        必填参数:

        word: 唤醒词的汉字

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateMainWakeupWords

          public void updateMainWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                     throws DDSNotInitCompleteException

      更新多条主唤醒词的接口，覆盖原有的主唤醒词

      支持设置多个主唤醒词，所以参数为数组，重复调用会以最新的主唤醒词数组为准。

      Parameters:
        `wakeupWordList` - 唤醒词对象集合

        必填参数:

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### clearMainWakeupWord

          public void clearMainWakeupWord()
                                   throws DDSNotInitCompleteException

      清空主唤醒词的接口
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateMinorWakeupWord

          @Deprecated
          public void updateMinorWakeupWord(java.lang.String word,
                                                        java.lang.String pinyin,
                                                        java.lang.String threshold,
                                                        java.lang.String[] greetings)
                                                 throws DDSNotInitCompleteException

      Deprecated.
      更新副唤醒词的接口

      支持设置一个副唤醒词，重复调用会以最新的副唤醒词为准

      Parameters:
        `word` - 副唤醒词, 若设置null，则清空当前的副唤醒词
        `pinyin` - 副唤醒词的拼音
        `threshold` - 副唤醒词的阈值, 若设置null，则自动估算
        `greetings` - 副唤醒词的欢迎语, 若设置null，则与主唤醒词保持一致
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateMinorWakeupWord

          public void updateMinorWakeupWord(WakeupWord wakeupWord)
                                     throws DDSNotInitCompleteException

      更新副唤醒词的接口

      支持设置一个副唤醒词，重复调用会以最新的副唤醒词为准

      Parameters:
        `wakeupWord` - 唤醒词对象

        选填参数:

        word: 唤醒词的汉字, 若不设置，则清空当前的副唤醒词

        pinyin: 唤醒词的拼音, 若不设置，则清空当前的副唤醒词

        threshold: 唤醒词的阈值, 若不设置，则自动估算

        greeting: 唤醒词的欢迎语, 若不设置，则与主唤醒词保持一致

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### getMinorWakeupWord

          public java.lang.String getMinorWakeupWord()
                                              throws DDSNotInitCompleteException

      获取当前的副唤醒词
      Returns:
        String 副唤醒词, 若无则返回null
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateCommandWakeupWord

          @Deprecated
          public void updateCommandWakeupWord(java.lang.String[] actions,
                                                          java.lang.String[] words,
                                                          java.lang.String[] pinyin,
                                                          java.lang.String[] threshold,
                                                          java.lang.String[][] greetings)
                                                   throws DDSNotInitCompleteException

      Deprecated.
      更新命令唤醒词的接口，这类唤醒词会在唤醒之后执行一条指令，不能打断正在播报的语音

      支持设置多个命令唤醒词，所以参数为数组，重复调用会以最新的命令唤醒词数组为准。

      Parameters:
        `actions` - 命令唤醒词对应的command命令（必须）
        `words` - 命令唤醒词的汉字（必须）
        `pinyin` - 命令唤醒词的拼音（必须）
        `threshold` - 命令唤醒词的阈值（必须
        `greetings` - 命令唤醒词对应的唤醒语，一个唤醒词可以设置多条欢迎语，所以参数为二维数组，如果想要某个唤醒词不要欢迎语，那么该第二维数组的string可以设置为空字符串""
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateCommandWakeupWord

          public void updateCommandWakeupWord(WakeupWord wakeupWord)
                                       throws DDSNotInitCompleteException

      更新一条命令唤醒词的接口，这类唤醒词会在唤醒之后执行一条指令，不能打断正在播报的语音

      支持设置多个命令唤醒词，所以参数为数组，重复调用会以最新的命令唤醒词数组为准。

      Parameters:
        `wakeupWord` - 唤醒词对象

        必填参数:

        action: 唤醒词对应的command命令

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

        选填参数:

        greeting: 唤醒词对应的欢迎语，一个唤醒词可以设置多条欢迎语

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateCommandWakeupWords

          public void updateCommandWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                        throws DDSNotInitCompleteException

      更新多条命令唤醒词的接口，这类唤醒词会在唤醒之后执行一条指令，不能打断正在播报的语音

      支持设置多个命令唤醒词，所以参数为数组，重复调用会以最新的命令唤醒词数组为准。

      Parameters:
        `wakeupWordList` - 唤醒词对象集合

        必填参数:

        action: 唤醒词对应的command命令

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

        选填参数:

        greeting: 唤醒词对应的欢迎语，一个唤醒词可以设置多条欢迎语

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addCommandWakeupWord

          @Deprecated
          public void addCommandWakeupWord(java.lang.String[] actions,
                                                       java.lang.String[] words,
                                                       java.lang.String[] pinyin,
                                                       java.lang.String[] threshold,
                                                       java.lang.String[][] greetings)
                                                throws DDSNotInitCompleteException

      Deprecated.
      添加命令唤醒词，且不会覆盖之前的命令唤醒词

      Parameters:
        `actions` - 命令唤醒词对应的command命令（必须）
        `words` - 命令唤醒词的汉字（必须）
        `pinyin` - 命令唤醒词的拼音（必须）
        `threshold` - 命令唤醒词的阈值（必须
        `greetings` - 命令唤醒词对应的唤醒语，一个唤醒词可以设置多条欢迎语，所以参数为二维数组，如果想要某个唤醒词不要欢迎语，那么该第二维数组的string可以设置为空字符串""
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addCommandWakeupWord

          public void addCommandWakeupWord(WakeupWord wakeupWord)
                                    throws DDSNotInitCompleteException

      添加一条命令唤醒词，且不会覆盖之前的命令唤醒词
      Parameters:
        `wakeupWord` - 唤醒词对象

        必填参数:

        action: 唤醒词对应的command命令

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

        选填参数:

        greeting: 唤醒词对应的欢迎语，一个唤醒词可以设置多条欢迎语

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addCommandWakeupWords

          public void addCommandWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                     throws DDSNotInitCompleteException

      添加多条命令唤醒词，且不会覆盖之前的命令唤醒词
      Parameters:
        `wakeupWordList` - 唤醒词对象集合

        必填参数:

        action: 唤醒词对应的command命令

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

        选填参数:

        greeting: 唤醒词对应的欢迎语，一个唤醒词可以设置多条欢迎语

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeCommandWakeupWord

          @Deprecated
          public void removeCommandWakeupWord(java.lang.String[] words)
                                                   throws DDSNotInitCompleteException

      Deprecated.
      移除指定的命令唤醒词

      Parameters:
        `words` - 命令唤醒词的汉字（必须）
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeCommandWakeupWord

          public void removeCommandWakeupWord(WakeupWord wakeupWord)
                                       throws DDSNotInitCompleteException

      移除一条指定的命令唤醒词
      Parameters:
        `wakeupWord` - 唤醒词对象

        必填参数:

        word: 唤醒词的汉字

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeCommandWakeupWords

          public void removeCommandWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                        throws DDSNotInitCompleteException

      移除一条指定的命令唤醒词
      Parameters:
        `wakeupWordList` - 唤醒词对象集合

        必填参数:

        word: 唤醒词的汉字

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### clearCommandWakeupWord

          public void clearCommandWakeupWord()
                                      throws DDSNotInitCompleteException

      清空命令唤醒词的接口
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### clearShortCutWakeupWord

          public void clearShortCutWakeupWord()
                                       throws DDSNotInitCompleteException

      清空打断唤醒词的接口
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateShortcutWakeupWord

          @Deprecated
          public void updateShortcutWakeupWord(java.lang.String[] words,
                                                           java.lang.String[] pinyin,
                                                           java.lang.String[] threshold)
                                                    throws DDSNotInitCompleteException

      Deprecated.
      更新打断唤醒词的接口,这类唤醒词能打断正在播报的语音并且将唤醒词送入识别

      支持设置多个打断唤醒词，所以参数为数组，重复调用会以最新的打断唤醒词数组为准。

      Parameters:
        `words` - 打断唤醒词的汉字（必须）
        `pinyin` - 打断唤醒词的拼音（必须）
        `threshold` - 打断唤醒词的阈值（必须
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateShortcutWakeupWord

          public void updateShortcutWakeupWord(WakeupWord wakeupWord)
                                        throws DDSNotInitCompleteException

      更新一条打断唤醒词的接口,这类唤醒词能打断正在播报的语音并且将唤醒词送入识别

      支持设置多个打断唤醒词，所以参数为数组，重复调用会以最新的打断唤醒词数组为准。

      Parameters:
        `wakeupWord` - 唤醒词对象

        必填参数:

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateShortcutWakeupWords

          public void updateShortcutWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                         throws DDSNotInitCompleteException

      更新多条打断唤醒词的接口,这类唤醒词能打断正在播报的语音并且将唤醒词送入识别

      支持设置多个打断唤醒词，所以参数为数组，重复调用会以最新的打断唤醒词数组为准。

      Parameters:
        `wakeupWordList` - 唤醒词对象集合

        必填参数:

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addShortcutWakeupWord

          @Deprecated
          public void addShortcutWakeupWord(java.lang.String[] words,
                                                        java.lang.String[] pinyin,
                                                        java.lang.String[] threshold)
                                                 throws DDSNotInitCompleteException

      Deprecated.
      添加新的打断唤醒词，且不会覆盖之前的唤醒词

      Parameters:
        `words` - 打断唤醒词的汉字（必须）
        `pinyin` - 打断唤醒词的拼音（必须）
        `threshold` - 打断唤醒词的阈值（必须
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addShortcutWakeupWord

          public void addShortcutWakeupWord(WakeupWord wakeupWord)
                                     throws DDSNotInitCompleteException

      添加一条新的打断唤醒词，且不会覆盖之前的唤醒词
      Parameters:
        `wakeupWord` - 唤醒词对象

        必填参数:

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### addShortcutWakeupWords

          public void addShortcutWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                      throws DDSNotInitCompleteException

      添加多条新的打断唤醒词，且不会覆盖之前的唤醒词
      Parameters:
        `wakeupWordList` - 唤醒词对象集合

        必填参数:

        word: 唤醒词的汉字

        pinyin: 唤醒词的拼音

        threshold: 唤醒词的阈值

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeShortcutWakeupWord

          @Deprecated
          public void removeShortcutWakeupWord(java.lang.String[] words)
                                                    throws DDSNotInitCompleteException

      Deprecated.
      移除指定的打断唤醒词

      Parameters:
        `words` - 打断唤醒词的汉字（必须）
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeShortcutWakeupWord

          public void removeShortcutWakeupWord(WakeupWord wakeupWord)
                                        throws DDSNotInitCompleteException

      移除一条指定的打断唤醒词
      Parameters:
        `wakeupWord` - 唤醒词对象

        必填参数:

        word: 唤醒词的汉字

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeShortcutWakeupWords

          public void removeShortcutWakeupWords(java.util.List<WakeupWord> wakeupWordList)
                                         throws DDSNotInitCompleteException

      移除多条指定的打断唤醒词
      Parameters:
        `wakeupWordList` - 唤醒词对象集合

        必填参数:

        word: 唤醒词的汉字

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateWakeupWords

          public void updateWakeupWords(java.util.List<WakeupWordIntent> intents)
                                 throws DDSNotInitCompleteException

      更新唤醒词,合并请求
      Parameters:
        `intents` - 合并请求意图
      Throws:
        `DDSNotInitCompleteException`

    - #### addQuickStartWords

          public void addQuickStartWords(java.util.List<WakeupWord> wakeupWordList)
                                  throws DDSNotInitCompleteException

      添加多条QuickStart词 QuickStart词为类似“导航去”、“我想听”等，此类唤醒词只在oneshot模式下生效， 作用为在未唤醒状态下语音输入“导航去天安门”，可直接进入对话流程。

      Parameters:
        `wakeupWordList` - QuickStart词对象集合

        必填参数:

        word: QuickStart词的汉字

        pinyin: QuickStart词的拼音

        threshold: QuickStart词的阈值

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeQuickStartWord

          public void removeQuickStartWord(WakeupWord wakeupWord)
                                    throws DDSNotInitCompleteException

      移除一条指定的QuickStart词

      Parameters:
        `wakeupWord` - QuickStart词的对象

        必填参数:

        word: QuickStart词的汉字

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### removeQuickStartWords

          public void removeQuickStartWords(java.util.List<WakeupWord> wakeupWordList)
                                     throws DDSNotInitCompleteException

      移除多条指定的QuickStart词

      Parameters:
        `wakeupWordList` - QuickStart词的对象集合

        必填参数:

        word: QuickStart词的汉字

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateQuickStartWords

          public void updateQuickStartWords(java.util.List<WakeupWord> wakeupWordList)
                                     throws DDSNotInitCompleteException

      更新多条QuickStart词的接口，覆盖原有的QuickStart词

      支持设置多个QuickStart词，所以参数为数组，重复调用会以最新的QuickStart词数组为准。

      Parameters:
        `wakeupWordList` - QuickStart词对象集合

        必填参数:

        word: QuickStart词的汉字

        pinyin: QuickStart词的拼音

        threshold: QuickStart词的阈值

      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### clearQuickStartWords

          public void clearQuickStartWords()
                                    throws DDSNotInitCompleteException

      清空QuickStart词的接口
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### enableMainWakeupWord

          public void enableMainWakeupWord()
                                    throws DDSNotInitCompleteException

      设置主唤醒词可唤醒，默认开启 (在已经调用enableWakeup的情况下临时使用, disableWakeup情况下无效)

      Throws:
        `DDSNotInitCompleteException`

    - #### setNearWakeupParams

          public void setNearWakeupParams(org.json.JSONObject paramsObj)
                                   throws DDSNotInitCompleteException

      设置就近唤醒参数与调度参数 仅在就近唤醒状态下生效(线双麦/线四麦)

      Throws:
        `DDSNotInitCompleteException`

    - #### disableMainWakeupWord

          public void disableMainWakeupWord()
                                     throws DDSNotInitCompleteException

      设置主唤醒词不可唤醒

      Throws:
        `DDSNotInitCompleteException`

    - #### enableMinorWakeupWord

          public void enableMinorWakeupWord()
                                     throws DDSNotInitCompleteException

      设置副唤醒词可唤醒，默认开启 (在已经调用enableWakeup的情况下临时使用, disableWakeup情况下无效)

      Throws:
        `DDSNotInitCompleteException`

    - #### disableMinorWakeupWord

          public void disableMinorWakeupWord()
                                      throws DDSNotInitCompleteException

      设置副唤醒词不可唤醒

      Throws:
        `DDSNotInitCompleteException`

    - #### enableCommandWakeupWord

          public void enableCommandWakeupWord()
                                       throws DDSNotInitCompleteException

      设置快捷命令唤醒词可唤醒，默认开启 (在已经调用enableWakeup的情况下临时使用, disableWakeup情况下无效)

      Throws:
        `DDSNotInitCompleteException`

    - #### disableCommandWakeupWord

          public void disableCommandWakeupWord()
                                        throws DDSNotInitCompleteException

      设置快捷命令唤醒词不可唤醒

      Throws:
        `DDSNotInitCompleteException`

    - #### enableShortCutWakeupWord

          public void enableShortCutWakeupWord()
                                        throws DDSNotInitCompleteException

      设置打断唤醒词可唤醒，默认开启 (在已经调用enableWakeup的情况下临时使用, disableWakeup情况下无效)

      Throws:
        `DDSNotInitCompleteException`

    - #### disableShortCutWakeupWord

          public void disableShortCutWakeupWord()
                                         throws DDSNotInitCompleteException

      设置打断唤醒词不可唤醒

      Throws:
        `DDSNotInitCompleteException`

    - #### enableWakeup

          public void enableWakeup()
                            throws DDSNotInitCompleteException

      开启唤醒
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### enableWakeupWhenAsr

          public void enableWakeupWhenAsr(boolean enable)
                                   throws DDSNotInitCompleteException

      是否允许识别过程中响应唤醒

      Parameters:
        `enable` - true: 允许识别过程中响应唤醒, false: 不允许识别过程中响应唤醒
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### disableWakeup

          public void disableWakeup()
                             throws DDSNotInitCompleteException

      关闭唤醒
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### updateWkupRouter

          public void updateWkupRouter(java.lang.String type)
                                throws DDSNotInitCompleteException

      动态设置对话模式
      Parameters:
        `type` - 对话模式 partner
      Throws:
        `DDSNotInitCompleteException`

    - #### setWakeupSwitch

          public void setWakeupSwitch(boolean mode)
                               throws DDSNotInitCompleteException

      设置是唤醒模块的模式(信号处理不变,环麦中暂不支持)
      Parameters:
        `mode` - 是否关闭唤醒 true-开启唤醒 ；false-关闭唤醒
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### setLpSwitch

          @Deprecated
          public void setLpSwitch(boolean mode)
                                       throws DDSNotInitCompleteException

      Deprecated.
      从1.2.16.1开始,内核不再支持此功能 设置低功耗模式, 开启低功耗模式后, 唤醒功能不可用, cpu会降低
      Parameters:
        `mode` - 是否开启低功耗模式 true-开启 ；false-关闭
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### enableNearWakeup

          public void enableNearWakeup(boolean enable)
                                throws DDSNotInitCompleteException

      动态切换就近唤醒功能(暂时支持线性双麦/线性四麦) 此接口在设置DDSConfig.K_USE_NEAR_WAKEUP为true时生效
      Parameters:
        `enable` - 是否开启就近唤醒 true-开启 ；false-关闭
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### catchWakeupResult

          public void catchWakeupResult(boolean isCatch)
                                 throws DDSNotInitCompleteException

      拦截唤醒结果 wakeup.result,
      Parameters:
        `isCatch` - 是否拦截唤醒结果 true-拦截 ；false-取消拦截
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### enableOneShot

          public void enableOneShot()
                             throws DDSNotInitCompleteException

      开启oneshot
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### disableOneShot

          public void disableOneShot()
                              throws DDSNotInitCompleteException

      关闭oneshot
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### getOneshotState

          public boolean getOneshotState()
                                  throws DDSNotInitCompleteException

      获取当前oneshot开关状态，如果有本地接口调用开关，以本地接口调用优先。
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### getWakeupWords

          public java.lang.String[] getWakeupWords()
                                            throws DDSNotInitCompleteException

      获取当前的唤醒词
      Returns:
        String[] 唤醒词数组
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### getWakeupVersion

          public java.lang.String getWakeupVersion()
                                            throws DDSNotInitCompleteException

      获取当前唤醒库版本号
      Returns:
        唤醒库版本号
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### getMainWakeupWords

          public java.util.List<WakeupWord> getMainWakeupWords()
                                                        throws DDSNotInitCompleteException

      获取主唤醒词列表，默认返回WakeupEngine所设置的主唤醒词，如果没有设置过则返回产品配置的主唤醒词。
      Returns:
        唤醒词列表
      Throws:
        `DDSNotInitCompleteException` - 如果DDS没有初始化完成，会抛出exception

    - #### destroy

          public void destroy()