前提:

1.安装谷歌语音搜索APP

2.需要越狱连接外网

废话不多说,直接上代码

public void onClick(View v) {
                //开启语音识别功能
                Intent intent = new Intent(
                        RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
                //设置模式,这里设置成自由模式
                intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
                //提示语音开始文字
                intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"Please start your voice");
                //开始进行语音识别,这里先检测手机(模拟器)是否支持语音识别并且捕获异常
                try {
                    startActivityForResult(intent, RESULT_SPEECH);
                    txtText.setText("");
                } catch (ActivityNotFoundException a) {
                    Toast t = Toast.makeText(getApplicationContext(),
                            "Opps! Your device doesn't support Speech to Text",
                            Toast.LENGTH_SHORT);
                    t.show();
                }
            }
        });

使用onActivityResult接收返回的结果

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case RESULT_SPEECH: {
                if (resultCode == RESULT_OK && data != null) {
                    ArrayList<String> text = data
                            .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                    //这里集合列表中第一个值为匹配度最高的值
                    txtText.setText(text.get(0));
                }
                break;
            }
        }
    }

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/txtText"
    android:gravity="center"
    android:orientation="vertical">

<EditText
        android:id="@+id/txtText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="left"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:hint="@string/edit"/>

<ImageButton
        android:id="@+id/btnSpeak"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:contentDescription="@string/speak"
        android:src="@android:drawable/ic_btn_speak_now"/>

</LinearLayout>

Android 调用谷歌原生语音识别相关推荐

  1. Android 调用百度在线语音识别功能

    换了好几个语音转文字的工具,主要跟百度上大家的方法一样,最开始用的科大讯飞的语音,真的还蛮好用的,整体来说demo的接口比较清晰吧~准确率也很高,但是量大就要收费.所以,换了第二种,Android原生 ...

  2. Android 调用谷歌语音识别

    調用谷歌语音识别其实很简单,直接利用 intent 跳转到手机里面的谷歌搜索 代码也很简单,直接调用方法 startVoiceRecognitionActivity() 如果大家手机里面没有谷歌搜索, ...

  3. Android 调用谷歌语音识别:获取识别结果,进行文字输出

    调用android 谷歌语音识别 ,获取识别结果,首先添加权限: <uses-permission android:name="android.permission.INTERNET& ...

  4. google语音识别 android,Android 调用谷歌语音识别

    調用谷歌语音识别其实很简单,直接利用 intent 跳转到手机里面的谷歌搜索 代码也很简单,直接调用方法 startVoiceRecognitionActivity() 如果大家手机里面没有谷歌搜索, ...

  5. Qt on Android 调用安卓原生方法

    标题c++与java混合编程 1.先用安卓编译器编译一次,在android-build目录下找到AndroidManifest.xml. 2.在项目路径下创建 android/src/ 目录 3.将A ...

  6. Android调用系统原生分享组件

    想必做Android开发都会遇到的需求--分享. 实现需求和方式也都各自不一,有接入某个app的SDK进行分享,也有集成第三方平台例如友盟等等... 接下来所要说到的是Android系统提供的分享组件 ...

  7. Android 调用系统原生相机拍照并储存到指定位置

    Android 6.0(API 23以下,不包括23)以下,无动态授权模块, 权限: <uses-permission android:name="android.permission ...

  8. Android Google原生语音识别

    1.调用Google原生语音识别 Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);intent.putExtr ...

  9. android 7原生动态壁纸,手机里都是定制OS?谷歌Android 7.0原生系统壁纸邀你来尝鲜!...

    原标题:手机里都是定制OS?谷歌Android 7.0原生系统壁纸邀你来尝鲜! 安卓系统的碎片化一直是被人们所诟病,苹果手机IOS系统升级的速度和占比一直都非常高,而安卓手机却相比都非常差,三星,华为 ...

最新文章

  1. 创建数据库,指定数据库的字符集和编码顺序
  2. 江苏“超牛”女博导:16岁考入北大,跨专业读博,成为全球第4个获此奖项的学者!...
  3. 记录安装oracle的那些事(二)之双系统安装
  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(50)-Easyui 扁平化皮肤
  5. LinkedIn工程经理眼中的数据世界格局
  6. 集成Lucene和HBase(转)
  7. 敏捷方法在测试计划中的应用
  8. prometheus变量_TiKV 源码解析系列文章(四)Prometheus(下)
  9. Linux 实操 —— Linux 系统性能分析
  10. 【SpringMVC框架】springmvc入门程序-环境搭建
  11. mysql查询当天数据(上周、本月、上个月、距离当前现在6个月的数据)
  12. Adobe Photoshop/Adobe Dreamwear/您此时无法使用此产品。您必须问题解决办法FLEXnet Licensing Service服务
  13. 服务器装系统报0x0000005d,Win8系统安装过程中提示ErrorCode:0x0000005D怎么办
  14. 初始化云硬盘切换云主机挂载验证lvm跨主机可读
  15. 广州:推动电子印章、签名等“应用尽用”,实现政务服务“四免”
  16. 港中深、华为联合培养,韩晓光课题组招收三维视觉数字人方向博士生
  17. python查看哪些内存被释放_python内存不释放原理 | shell's home
  18. 《三井帝国在行动》pdf电子版下载
  19. 微信小程序|使用小程序制作一个时间管理小工具
  20. 微信小程序跳过第三方的_微信小程序可以跳转第三方页面吗

热门文章

  1. ZBrush中的皮肤纹理该怎么添加
  2. GDUT_排位赛题解报告_第3场_B.Loan Repayment
  3. 支持数位板的远程软件,实现远程使用 Wacom 数位板
  4. 数的大家庭——虚数和复数的由来
  5. 华为Atlas200dk使用第四步------配置CANNtoolkit环境
  6. Google Pixel 刷机、OpenGApps和系统分区扩容
  7. HTML网页设计:CSS渐变、过渡
  8. FontAwesome for Axure字体图标合集 v4.7 — v5.8 含Free版和Pro版
  9. JAVA编码(37)—— Java字符串转换为MAP对象
  10. GreenPlum常用字符串函数