2013-07-03

语音识别

2008年Google语音搜索在iphone平台上线,Android 1.5 将语音识别应用到搜索功能上。

手动输入是目前主要与手机互动的方式,语音搜索宗旨是最大限度地改善人机交互的便捷性。

在玩游戏时,通过语音来控制操作,更显得人性化,体验更佳。

Android 中主要通过RecognizerIntent来实现语音识别。

RecognizerIntent包括的常量

ACTION_RECOGNIZE_SPEECH

ACTION_WEB_SEARCH

EXTRA_LANGUAGE

EXTRA_LANGUAGE_MODEL

EXTRA_MAX_RESULTS

EXTRA_PROMPT

EXTRA_RESULTS

LANGUAGE_MODEL_FREE_FORM

LANGUAGE_MODEL_WEB_SEARCH

RESULT_AUDIO_ERROR

RESULT_CLIENT_ERROR

RESULT_NETWORK_ERROR

RESULT_NO_MATCH

RESULT_SERVER_ERROR

// 打开语音识别

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);

intent.putExtra(RecognizerIntent.EXTRA_PROMPT, “开始语音");

startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);

在模拟器上找不到语音设备,会抛出异常ActivityNotFoundException。

示例:

点击“开始使用语音识别”按钮后,开始语音输入,然后在onActivityResult方法中取得结果并显示出来

protect void onActivityResult(int requestCode, int resultCode, Intent data) {

if(requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {

ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

StringBuffer sb = new StringBuffer();

for(int i=0; i<results.size; i++) {

sb.append(results.get(i));

}

Toast.makeText(this, sb.toString(), Toast.LENGTH_LONG).show();

super.onActivityResult(requestCode, resultCode, data);

}

}

更多相关文章

  1. Android突破三:Intent类
  2. android中使用adb查看sqlite数据库
  3. Android(安卓)Studio 报错提示:Unable to find vaild certificati
  4. Linux下添加Android设备
  5. android附件上传下载(图片,语音,视频)
  6. android输入设备相关文件
  7. Android(安卓)studio DDMS无法导入导出文件的问题
  8. 零基础学习教程之Linux下搭建android开发环境

随机推荐

  1. ANDROID关于亮屏和暗屏还有解锁的监听事
  2. Android(安卓)Studio中的“无法解析符号R
  3. Android使用Material Design自带Coordina
  4. android 一个应用去获取另一个应用assets
  5. android attr 属性 类型
  6. Android(安卓)-- is 32-bit instead of 6
  7. Android(安卓)判断是开发debug模式,还是发
  8. wifi打开Android(安卓)ADB调试
  9. android系统服务大全
  10. 《Android(安卓)9编程通俗演义》代码下载