今天在csdn网站上突然找到安卓语音识别功能感觉不错,结合其它博主和关于安卓语音识别的书籍来编写如下(若有侵犯,请立即告诉我)
话不多说直接进入主题:
Android主要通过自带的RecognizerIntent来实现语音识别,代码其实是很简单,但是如果没有找到语音设备就会抛出异常ActivityNotFoundException,所以我们要提前要捕捉这个异常。在这里说明一下语音识别好像在模拟器上不能测试(我观看了大神的讲解说,语音识别是访问google云端数据)如果手机的网络没有开启,就无法识别语音,所以一定要开启手机的网络,如果手机没有识别语音功能,也是不能的。
如果手机没有开启网络就会出现如下所示:

接下来话不多上直接上案例:
首先需要创建一个安卓项目(在这里我就不介绍怎么创建了,我相信大家都会)。
在xml中编写如下代码:

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="160dp"android:layout_marginLeft="160dp"android:layout_marginTop="396dp"android:text="开始语音"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/textView"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="220dp"android:layout_marginEnd="16dp"android:layout_marginRight="16dp"android:textSize="20sp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintTop_toTopOf="parent" />

就是编写了一个按钮和一个文本框。
在java找主要编写如下代码:

public class MainActivity extends AppCompatActivity {private Button button;private TextView textView;private static final int VOICE_RECOGNITION_REQUEST_CODE=123;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=(Button)findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {try {//通过Intent传递语音识别的模式,开启语音Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);//语言模式和自由模式的语音识别    EXTRA_LANGUAGE_MODEL:语言模式  LANGUAGE_MODEL_FREE_FORM:自由模式语言intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);//提示语音开始intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"开始语音");//开始语音识别startActivityForResult(intent,VOICE_RECOGNITION_REQUEST_CODE);//打开语音识别模式}catch (Exception e){e.printStackTrace();Toast.makeText(getApplicationContext(),"找不到语音设备",Toast.LENGTH_SHORT).show();}}});}protected 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);String resultString="";for (int i=0;i<results.size();i++){resultString+=results.get(i);}Toast.makeText(this,resultString,Toast.LENGTH_SHORT).show();textView=(TextView)findViewById(R.id.textView);textView.setText(resultString);}}}

其主要原理就是将语音发送到google云端,然后云端处理,匹配相应的数据,发送到客户端。
最后不要忘记,在manifest中加入网络访问权限:

<uses-permission android:name="android.permission.INTERNET" />

这个网络访问权限我之前没加也能出来相应的结果不知道怎么回事(

若有知道的大佬请告诉我吆。)
下面展示效果图:


最后就简单的完成了语音识别这个小案例。

安卓语音识别(RecognizerIntent)相关推荐

  1. Android (嘤)英语语音识别 简单概况

    这是一篇非常简短的概述,并不是什么长篇大论.旨在给根本没弄过安卓语音识别的程序猿们一个大体的认识,同时,里面也提供了不少方便的链接.希望能给你的开发加速~ 1. google speech recog ...

  2. 安卓调用系统语音识别功能全解(谷歌语音服务):获取识别结果,使用语音识别进行搜索。

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓调用系统语音识别功能全解(谷歌语音服务):获取识别结果,使用语音识别进行搜索. 首先要添加权限 <uses-permission andro ...

  3. 安卓Android科大讯飞语音识别代码使用详解

    科大讯飞的语音识别功能用在安卓代码中,我把语音识别写成了Service,然后在Fragment直接调用service服务.科大讯飞语音识别用的是带对话框的那个,直接调用科大讯飞的语音接口,代码采用链表 ...

  4. RecognizerIntent(语音识别)

    过程如下: 1.启动语音识别 Activity 2.这里处理语音(传到 google 服务器处理) 3.结果以 Acitivity 的结果返回(onActivityResult) 主要用到的类为 an ...

  5. 安卓接入讯飞语音识别

    #因为该项目不适合图形展示,所以无图 需要使用录音功能,那么虚拟机是不行的,只能使用真机测试 集成到项目中,需要将讯飞SDK里的内容搬到项目对应位置 在AndroidMainfest.xml中添加相应 ...

  6. 基于安卓的智能语音识别系统

    语音识别技术的应用包括语音拨号.语音导航.室内设备控制.语音文档检索.简单的听写数据录入等.语音识别技术与其他自然语言处理技术如机器翻译及语音合成技术相结合,可以构建出更加复杂的应用,例如语音到语音的 ...

  7. 谷歌云端语音识别助手手机版-Google云端语音识别app1.0.0 官方安卓版-东坡下载...

    Google云端语音识别app是由谷歌最新研发的手机语音识别软件,该软件支持全球80多中语音识别系统,十分的强大,支持中文.粤语.普通话等,不通国家的语言,可以通过该软件进行交流,十分的方便哦,欢迎有 ...

  8. 智能语音识别app下载-智能语音识别app安卓版下载v2.2 - 非凡软件站

    在学习生活中拥有一款好用的语音翻译软件非常必要.智能语音识别APP能够为用户提供强大的语音翻译功能,实时在线翻译让用户的沟通再无障碍,英文.法语.俄语.日语以及广东话粤语等方言都可以翻译,还可以进行拍 ...

  9. 安卓 百度语音识别

    Android 百度语音识别集成,非常简单 1.最近做一个语音识别的项目,网上找了个demo,很简单,直接调用这个类就可以,做个记录,方便以后用! public class OnLineUtils i ...

最新文章

  1. Science:人类迎来目前最为全面的癌症染色质可及性图谱
  2. 进程间通信(一)管道
  3. Modbus名词解释
  4. CGI(通用网关接口)
  5. 电力系统服务器故障预案,电网预案推演系统及电网预案推演方法
  6. uni-app中的tabBar配置
  7. mybatis使用和分析
  8. 判断web app是否从主屏启动
  9. iOS----集成ijkplayer视频直播
  10. valgrind--CPP程序内存泄露检查工具
  11. Python 七段数码管
  12. Excel 怎么让行或列倒转过来?
  13. Maven Nexus详解
  14. 【Linux】SSH相关命令
  15. 微信与支付宝钱包的竞争分析
  16. 【图像去噪】基于最小二乘方滤波实现图像去噪含Matlab源码
  17. JQ JS分页序号连续
  18. 云服务器开放端口的详细教程
  19. 怎么样使用Tampermonkey
  20. 激活函数--Sigmoid,tanh,RELU,RELU6,Mish,Leaky ReLU等

热门文章

  1. 第二单元 The Opera Singer
  2. 每周网页练习—网易邮箱首页
  3. 怎样对一个项目进行成本管理,具体步骤是啥?
  4. 下载opencv3.4.2.16
  5. 因果模型一:因果模型入门综述
  6. DVWA系列(二)----DVWA环境搭建
  7. Docker 学习实战路线
  8. Hurst指数python实现
  9. springboot普通类调用bean
  10. python语句和语法介绍