原文链接:http://bbs.seacat.cn/thread-901-1-1.html

Glass可以让你声明语音命令,从ok glass 语音菜单中启动你的Glassware。

你也可以调用语音识别的activity

已存在语音命令

当你在开发的时候,你可以使用任何你想要的语音指令。当你想要启动Glassware并出现在MyGlass中,你必须得使用已存在的命令或提交新命令审核。

  • listen to
  • take a note
  • post an update
  • show a compass
  • start a run
  • start a bike ride
  • find a recipe
  • record a recipe
  • check me in
  • start a stopwatch
  • start a timer
  • start a round of golf
  • translate this
  • learn a song
  • tune an instrument
  • play a game
  • start a workout

注意:需要准确的声明这些语音命令(包括间隔符)到<trigger>元素中。

启动Glassware

添加一个trigger到ok glass语音主菜单:

1、为你的voice trigger声明一个string变量的名称到res/values/strings.xml。可选择性的声明一个语音提示,在启动Glassware前显示在语音识别activity中

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="glass_voice_trigger">take a note</string><string name="glass_voice_prompt">tell me what's on your mind</string>
</resources>

2、为 voice trigger创建一个xml资源到 res/xml/<my_voice_trigger>.xml 
一个简单的voice trigger直接启动一个activity或一个service

<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/glass_voice_trigger" />

3、注册一个action为 com.google.android.glass.action.VOICE_TRIGGER 的intent filter在manifest中。当检测到用户说出你的voice trigger时会启动这activity或service。

<?xml version="1.0" encoding="utf-8"?>
<application ...><activity | service ...><intent-filter><actionandroid:name="com.google.android.glass.action.VOICE_TRIGGER" /></intent-filter><meta-data android:name="com.google.android.glass.VoiceTrigger"android:resource="@xml/my_voice_trigger" /></activity | service>// ...
</application>

4、为activity或service设置一个android:icon属性,用来显示在ok,glass菜单中。

注意:图标必须是白色且背景透明,50*50像素。

<activity |serviceandroid:icon="@drawable/my_icon" ...>...
</activity | service>

5、当启动了一个activity,可以通过下面的代码得到转义的文字

ArrayList<String> voiceResults = getIntent().getExtras().getStringArrayList(RecognizerIntent.EXTRA_RESULTS);

当启动了一个服务,可以在 onStartCommand() 的回调中得到intent extra:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {ArrayList<String> voiceResults = intent.getExtras().getStringArrayList(RecognizerIntent.EXTRA_RESULTS);// ...
}

设置约束

如果你需要使用相机、网络、麦克风这些功能,就需要在res/xml/<my_voice_trigger>.xml中指定他们。如果功能无效,Glass就会禁用这个 voice trigger:

<trigger keyword="@string/glass_voice_trigger"><constraintscamera="true"network="true" />
</trigger>

启动语音识别activity

语音识别activity会等待用户说话,并在说完后返回转义的文本。启动这个activity:

1、通过 ACTION_RECOGNIZE_SPEECH intent来调用startActivityForResult()方法。支持以下intent extras :

EXTRA_PROMPT
EXTRA_RESULTS_PENDINGINTENT
EXTRA_RESULTS_PENDINGINTENT_BUNDLE

2、重写 onActivityResult() 回调方法,从 EXTRA_RESULTS intent extra中接收转义文本,当用户停止说话的时候,这个回调会被调用。

private static final int SPEECH_REQUEST = 0;private void displaySpeechRecognizer() {Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);startActivityForResult(intent, SPEECH_REQUEST);
}@Override
protected void onActivityResult(int requestCode, int resultCode,Intent data) {if (requestCode == SPEECH_REQUEST && resultCode == RESULT_OK) {List<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);String spokenText = results.get(0);// Do something with spokenText.}super.onActivityResult(requestCode, resultCode, data);
}

谷歌眼镜GDK开发指南之语音输入相关推荐

  1. 谷歌眼镜GDK开发指南之快速开始

    原文链接:http://bbs.seacat.cn/thread-894-1-1.html 在你开始使用GDK之前,你需要了解下安卓开发方面的更多知识. 这个快速开始教程能教你安装GDK开发环境,以及 ...

  2. 谷歌眼镜GDK开发指南之触控手势

    原文地址:http://bbs.seacat.cn/thread-900-1-1.html 可以通过Android sdk访问Glass触控板的原始数据.但GDK提供一个 gesture detect ...

  3. 谷歌眼镜GDK开发指南之动态卡片

    原文地址:http://bbs.seacat.cn/thread-896-1-1.html 动态卡片出现在时间轴的现在和将来区域,显示当前时间段的关联信息. 你可以低频率的渲染动态卡片,几秒一次更新. ...

  4. 谷歌眼镜GDK开发指南之Immersions

    原文地址:http://bbs.seacat.cn/thread-899-1-1.html Immersions(沉浸式)可以提供更多的自定义体验. 可以使用Android标准的Activity来创建 ...

  5. 谷歌眼镜GDK开发指南之Camera

    原文链接:http://bbs.seacat.cn/thread-903-1-1.html 你可以使用Glass Camera来拍照.录像和相机预览. 拍照或录像你有两个选择: 1.通过 startA ...

  6. Android二次开发之科大讯飞语音输入

    随着目前用户需求的精细化和智能化,很多时候我们需要在App内集成语音输入模块,为用户提供语音输入的功能.而科大讯飞语音作为行业内翘楚,识别结果相对准确,且讯飞自带一套识别动画,适合快速搭建模块,废话不 ...

  7. uwp post php,window_Win10开发系列专题五 UWP应用添加画布及语音输入支持,这是微软Win10十个开发系列专 - phpStudy...

    Win10开发系列专题五 UWP应用添加画布及语音输入支持 这是微软Win10十个开发系列专题的第五期内容,本期微软讲解了为Windows10 UWP应用添加画布/数字墨水书写及语音输入支持的方法.微 ...

  8. 教你用 Android 做二次开发,识别率达到科大讯飞语音输入水平 | 原力计划

    作者 | Pek_KuaiJia 责编 | 夕颜 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 随着目前用户需求的精细化和智能化,很多时候我们需要在App内集成语音 ...

  9. 离线语音芯片-开发指南

    开发指南: 针对蜂鸟系列芯片,云知声配套推出了AI芯片开发应用平台: 目的:解决离线语音识别功能开发的两大瓶颈:语音词条定制开发困难.语音识别效果差.      流程:简单5步即可创建语音交互产品: ...

最新文章

  1. KMP算法求回溯数组的步骤
  2. python __init__ (初始化对象时候自动调用) 与代表class对象自身的self
  3. Java多线程:捕获线程异常
  4. Cannot launch SimulationPipeline in local Eclipse
  5. java写一个窗体并连接MySQL_大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据...
  6. RBAC 权限设计(转载)
  7. vba copy sheet
  8. 3-1:常见任务和主要工具之软件包管理
  9. 《天天数学》连载26:一月二十六日
  10. k8s glusterfs mysql_k8s使用glusterfs实现动态持久化存储
  11. 消费者性别及其所偏好牛奶品牌频数分布
  12. Java直接遍历并读取zip压缩文件的内容以及错误处理
  13. Luogu3387【模板】缩点(Kosaraju)
  14. ssm生鲜超市管理系统的设计与实现毕业设计源码261635
  15. XP侧边栏(XP桌面秀)
  16. win10修改保存的git用户名和密码
  17. Python:实现counting sort计数排序算法(附完整源码)
  18. c语言 打印奇数魔法阵,[luogu2119]魔法阵 NOIP2016T4
  19. 中国K12在线教育用户消费行为报告
  20. html不对齐表格的实现

热门文章

  1. 2017前端性能优化清单
  2. 安裝Drupal 7简体中文版
  3. [BUUCTF]zip伪加密
  4. 从任正非“论英雄”看华为的文化(2)
  5. (二)安装机器人操作系统-ros
  6. 彻底删除卸载、删除loaderrunner
  7. ensp模拟器下简单ospf配置
  8. Pyramid of Glasses(杨辉三角 +dp)
  9. 【IoT】导电硅胶按键焊盘处理技术指南
  10. 小陈WEB漏洞扫描器 V2.0