谷歌眼镜GDK开发指南之语音输入
原文链接:http://bbs.seacat.cn/thread-901-1-1.html
Glass可以让你声明语音命令,从ok glass 语音菜单中启动你的Glassware。
![]() ![]() 你也可以调用语音识别的activity ![]() 已存在语音命令 当你在开发的时候,你可以使用任何你想要的语音指令。当你想要启动Glassware并出现在MyGlass中,你必须得使用已存在的命令或提交新命令审核。
注意:需要准确的声明这些语音命令(包括间隔符)到<trigger>元素中。 启动Glassware 添加一个trigger到ok glass语音主菜单: 1、为你的voice trigger声明一个string变量的名称到res/values/strings.xml。可选择性的声明一个语音提示,在启动Glassware前显示在语音识别activity中
|
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开发指南之语音输入相关推荐
- 谷歌眼镜GDK开发指南之快速开始
原文链接:http://bbs.seacat.cn/thread-894-1-1.html 在你开始使用GDK之前,你需要了解下安卓开发方面的更多知识. 这个快速开始教程能教你安装GDK开发环境,以及 ...
- 谷歌眼镜GDK开发指南之触控手势
原文地址:http://bbs.seacat.cn/thread-900-1-1.html 可以通过Android sdk访问Glass触控板的原始数据.但GDK提供一个 gesture detect ...
- 谷歌眼镜GDK开发指南之动态卡片
原文地址:http://bbs.seacat.cn/thread-896-1-1.html 动态卡片出现在时间轴的现在和将来区域,显示当前时间段的关联信息. 你可以低频率的渲染动态卡片,几秒一次更新. ...
- 谷歌眼镜GDK开发指南之Immersions
原文地址:http://bbs.seacat.cn/thread-899-1-1.html Immersions(沉浸式)可以提供更多的自定义体验. 可以使用Android标准的Activity来创建 ...
- 谷歌眼镜GDK开发指南之Camera
原文链接:http://bbs.seacat.cn/thread-903-1-1.html 你可以使用Glass Camera来拍照.录像和相机预览. 拍照或录像你有两个选择: 1.通过 startA ...
- Android二次开发之科大讯飞语音输入
随着目前用户需求的精细化和智能化,很多时候我们需要在App内集成语音输入模块,为用户提供语音输入的功能.而科大讯飞语音作为行业内翘楚,识别结果相对准确,且讯飞自带一套识别动画,适合快速搭建模块,废话不 ...
- uwp post php,window_Win10开发系列专题五 UWP应用添加画布及语音输入支持,这是微软Win10十个开发系列专 - phpStudy...
Win10开发系列专题五 UWP应用添加画布及语音输入支持 这是微软Win10十个开发系列专题的第五期内容,本期微软讲解了为Windows10 UWP应用添加画布/数字墨水书写及语音输入支持的方法.微 ...
- 教你用 Android 做二次开发,识别率达到科大讯飞语音输入水平 | 原力计划
作者 | Pek_KuaiJia 责编 | 夕颜 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 随着目前用户需求的精细化和智能化,很多时候我们需要在App内集成语音 ...
- 离线语音芯片-开发指南
开发指南: 针对蜂鸟系列芯片,云知声配套推出了AI芯片开发应用平台: 目的:解决离线语音识别功能开发的两大瓶颈:语音词条定制开发困难.语音识别效果差. 流程:简单5步即可创建语音交互产品: ...
最新文章
- KMP算法求回溯数组的步骤
- python __init__ (初始化对象时候自动调用) 与代表class对象自身的self
- Java多线程:捕获线程异常
- Cannot launch SimulationPipeline in local Eclipse
- java写一个窗体并连接MySQL_大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据...
- RBAC 权限设计(转载)
- vba copy sheet
- 3-1:常见任务和主要工具之软件包管理
- 《天天数学》连载26:一月二十六日
- k8s glusterfs mysql_k8s使用glusterfs实现动态持久化存储
- 消费者性别及其所偏好牛奶品牌频数分布
- Java直接遍历并读取zip压缩文件的内容以及错误处理
- Luogu3387【模板】缩点(Kosaraju)
- ssm生鲜超市管理系统的设计与实现毕业设计源码261635
- XP侧边栏(XP桌面秀)
- win10修改保存的git用户名和密码
- Python:实现counting sort计数排序算法(附完整源码)
- c语言 打印奇数魔法阵,[luogu2119]魔法阵 NOIP2016T4
- 中国K12在线教育用户消费行为报告
- html不对齐表格的实现