加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 教程文章 > Android开发

谷歌云语音识别示例

时间:2014-04-15 23:52:52  来源:  作者:

先安装Google语音搜索并确认设备已经联网,仅给出核心代码:

01 //这是一个Button的单击事件处理函数,用于调用google的云语音识别
02  public void onSpeechClick(View view) {
03   // Check to see if a recognition activity is present
04   PackageManager pm = getPackageManager();
05   List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(
06     RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
07   if (activities.size() != 0) {
08    //可以进行语音识别操作
09    //通过Intent传递语音识别的模式
10    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
11    //语言模式和自由形式的语音识别
12    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
13      RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
14    //提示语音开始
15    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "说语音");
16    //开始执行我们的Intent、语音识别
17    startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
18   } else {
19    Toast.makeText(this, "请先安装Google语音搜索并确认设备已经联网", Toast.LENGTH_SHORT)
20      .show();
21   }
22  }
23  
24  // 当语音结束时的回调函数onActivityResult
25  @Override
26  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
27   if (requestCode == VOICE_RECOGNITION_REQUEST_CODE
28     && resultCode == RESULT_OK) {
29    // 取得语音识别结果
30    ArrayList<String> matches = data
31      .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
32    Iterator<String> it1 = matches.iterator();
33   //这里省略了对语音识别结果的遍历操作,请根据实际情况来自己实现特定的功能。
34    System.out.println("语音识别结果数目:"+matches.toArray().length);
35   super.onActivityResult(requestCode, resultCode, data);
36  }

 

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
在CentOS下搭建Android 开发环境
在CentOS下搭建Androi
轻松搭建属于自己的Ubuntu发行版
轻松搭建属于自己的Ub
利用SUSE Studio 打造自己的个性化Linux发行版
利用SUSE Studio 打造
那些采用PHP技术的IT大企业
那些采用PHP技术的IT大
相关文章
    无相关信息
栏目更新
栏目热门