本文描述了唤醒相关的接口和配置。对于唤醒概念不了解,可参阅 术语解释 里的 唤醒管理
设置单个页面快捷词
对于快捷词不理解的,可参考 术语解释。具体应用场景,比如:视频播放中,用户希望通过说 "暂停播放" 或 "继续播放" 来控制播放。
// 所有可用的唤醒词索引 public static final int WAKEUP_WORD_TYPE_LOCAL = 3; // 本地唤醒词 // =================以下重点注意:index排序和底层保持一致,不能改变================== public static final int WAKEUP_WORD_NAME_INVALID = 0; // 全部取消 public static final int WAKEUP_WORD_NAME_TIANMAOJINGLING = 1; // 天猫精灵 public static final int WAKEUP_WORD_NAME_NIHAOTIANMAO = 2; // 你好天猫 public static final int WAKEUP_WORD_NAME_JINGLINGTUICHU = 3; // 精灵退出 public static final int WAKEUP_WORD_NAME_JINGLINGZANTING = 4; // 精灵暂停 public static final int WAKEUP_WORD_NAME_SHENGYINDAYIDIAN = 5; // 声音大一点 public static final int WAKEUP_WORD_NAME_SHENGYINXIAOYIDIAN = 6; // 声音小一点 public static final int WAKEUP_WORD_NAME_XIAYISHOU = 7; // 下一首 public static final int WAKEUP_WORD_NAME_WOYAOKAN = 8; // 我要看 public static final int WAKEUP_WORD_NAME_WOYAOTING = 9; // 我要听 public static final int WAKEUP_WORD_NAME_XIAYIGE = 10; // 下一个 public static final int WAKEUP_WORD_NAME_SHANGYIYE = 11; // 上一页 public static final int WAKEUP_WORD_NAME_XIAYIYE = 12; // 下一页 public static final int WAKEUP_WORD_NAME_HUANYIPI = 13; // 换一批 public static final int WAKEUP_WORD_NAME_FANHUI = 14; // 返回 public static final int WAKEUP_WORD_NAME_KANZHENGPIAN = 15; // 看正片 public static final int WAKEUP_WORD_NAME_ZANTING = 16; // 暂停 public static final int WAKEUP_WORD_NAME_BOFANG = 17; // 播放 public static final int WAKEUP_WORD_NAME_QUANPING = 18; // 全屏 public static final int WAKEUP_WORD_NAME_KUAIJIN = 19; // 快进 public static final int WAKEUP_WORD_NAME_KUAITUI = 20; // 快退 public static final int WAKEUP_WORD_NAME_SHANGYIJI = 21; // 上一集 public static final int WAKEUP_WORD_NAME_XIAYIJI = 22; // 下一集 public static final int WAKEUP_WORD_NAME_DAKAI = 23; // 打开 public static final int WAKEUP_WORD_NAME_SHANGYISHOU = 24; // 上一首 public static final int WAKEUP_WORD_NAME_SHANGYIGE = 25; // 上一个 public static final int WAKEUP_WORD_NAME_JINGLINGFANHUI = 26; // 精灵返回 public static final int WAKEUP_WORD_NAME_DAKAIDI = 27; // 打开第 public static final int WAKEUP_WORD_NAME_JIXUBOFANG = 28; //继续播放 public static final int WAKEUP_WORD_NAME_QUANPINBOFANG = 29; //全屏播放 // 一般在进入一个新页面时设置该页面的唤醒词 public void setWakeupWords() { // 设置 暂停 和 继续播放 两个动态唤醒词 int[] wakeupCodes = new int[2]; wakeupCodes[0] = WAKEUP_WORD_NAME_ZANTING; wakeupCodes[1] = WAKEUP_WORD_NAME_JIXUBOFANG; AiLabsCore.getInstance().updatePageWakeupWord(WAKEUP_WORD_TYPE_LOCAL, wakeupCodes); // 设置无动态唤醒词 int[] invalid = new int[]{WAKEUP_WORD_NAME_INVALID}; APPLog.d(TAG, "handleWakeupWords. wakeupCodes = " + Arrays.toString(invalid)); AiLabsCore.getInstance().updatePageWakeupWord(WAKEUP_WORD_TYPE_LOCAL, invalid); }
开启禁用唤醒
如果希望开启或者禁用唤醒能力,可以通过下述方法:
/* 1. 这里 mSwitchWakeupButton 为 启用/禁用唤醒 按钮句柄。 * 2. 调用AguiCtx的 getWakeupForbidden(true|false)获取唤醒是否被禁用。 * true -- 唤醒被禁用 * false -- 唤醒处于开启状态 * 3. 调用AguiCtx的 setWakeupForbidden(true|false)设置是否禁用唤醒。 * true -- 禁用唤醒 * false -- 开启唤醒 */ mSwitchWakeupButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (AguiCtx.getInstance().getWakeupForbidden()) { AguiCtx.getInstance().setWakeupForbidden(false); // 提示操作结果 mTipsTextView.setText("启用唤醒成功"); } else { AguiCtx.getInstance().setWakeupForbidden(true); // 提示操作结果 mTipsTextView.setText("禁用唤醒成功"); } mSwitchWakeupButton.setText(AguiCtx.getInstance().getWakeupForbidden() ? "启用唤醒":"禁止唤醒"); } });
获取唤醒类型
在对话过程中,想要获取当前唤醒类型,可以通过下述方法:
/* 1. 这里 mGetWakeupTypeButton 为 取消多轮会话 按钮句柄。 * 2. 调用 getWakeupType() 获取会话类型,常用的几个类型 * WakeUpType.ACTIVE(0) -- 唤醒词唤醒 * WakeUpType.SHORTCUT(4) -- 快捷词唤醒 * WakeUpType.PRESS(7) -- 按键唤醒 * WakeUpType.TOUCH(8) -- 技能尝试唤醒 * WakeUpType.CONTINUE_DIALOG(9) -- 多轮对话 * WakeUpType.FACE_RECOGNIZE(10) -- 视觉唤醒 * WakeUpType.GESTURE(13) -- 手势唤醒 */ mGetWakeupTypeButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { AiLabsCore.getInstance().getWakeupType(); } });





