switch (requestCode) {

case RESULT_SPEECH: {

if (resultCode == RESULT_OK && data != null) {

ArrayList text = data

.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

//这里集合列表中第一个值为匹配度最高的值

txtText.setText(text.get(0));

}

break;

}

}

}

完整代码


1.MainActivity.java代码

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.content.ActivityNotFoundException;

import android.content.Intent;

import android.speech.RecognizerIntent;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.EditText;

import android.widget.ImageButton;

import android.widget.TextView;

import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

protected static final int RESULT_SPEECH = 1;

private ImageButton btnSpeak;

private EditText txtText;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

txtText = findViewById(R.id.txtText);

btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);

btnSpeak.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//开启语音识别功能

Intent intent = new Intent(

RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

//设置模式

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,“en-US”);

//提示语音开始文字

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();

}

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

//noinspection SimplifiableIfStatement

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

@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 text = data

.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

//这里集合列表中第一个值为匹配度最高的值

txtText.setText(text.get(0));

}

break;

}

}

}

}

2.activity_main.xml代码

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xml

ns: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”>

资源分享

  • 最新大厂面试专题

这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等

  • 对应导图的Android高级工程师进阶系统学习视频
    最近热门的,NDK,热修复,MVVM,源码等一系列系统学习视频都有!


l">

资源分享

  • 最新大厂面试专题

这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等

[外链图片转存中…(img-zouSZo1z-1647756785329)]

  • 对应导图的Android高级工程师进阶系统学习视频
    最近热门的,NDK,热修复,MVVM,源码等一系列系统学习视频都有!

[外链图片转存中…(img-t4ayzV6Q-1647756785330)]

Android开发之语音识别,Android开发知识体系相关推荐

  1. android开发-百度语音识别Android SDK的简单使用

    目录 1.引言 2.开发环境 3.准备开发环境 3.1安装Android studio 3.2创建百度智能云平台应用 3.1下载百度语音识别SDK 4.实现语音识别的简单案例 4.1创建Android ...

  2. Android 悬浮窗语音识别功能开发详解

    笔者是一个普通不能再普通的程序员,本着出处兴趣,花时间研究了一下,想实现手机的悬浮窗语音识别功能,这样不影响自己其它操作的,语音识别技术是用百度云语音sdk,应该不难实现,很难实现就是核心语音识别技术 ...

  3. 【转】Java开发必须要知道的知识体系

    Java Java是一门超高人气编程语言,拥有跨平台.面向对象.泛型编程等特性.在TIOBE编程语言排行榜中,连续夺得第一宝座,而且国内各大知名互联网公司,后端开发首选语言:非Java莫属.今天只是梳 ...

  4. android 调用微信语音识别,Android 仿微信语音识别

    参考于:Android模仿微信语音聊天功能,这代码跑起来有问题,自己改动了一下,基本上没什么大问题 先贴下效果图 1.三个布局文件 activity_main.xml dialog_manger.xm ...

  5. android自带语音识别,Android如何实现自带谷歌语音识别垃圾分类APP

    基于Android实现自带谷歌语音识别垃圾分类APP 此次做的项目是垃圾分类APP,涵盖内容各类垃圾的分类详情,关于软件的介绍,分享软件,语音识别,基于API搜索.文章末尾附源码,源码全注释. 项目主 ...

  6. IOS开发高手课第一篇 构建自己的IOS开发知识体系

    开篇词 | IOS开发锚定一个点,然后在这个点上深耕 你好,我是戴铭,欢迎你加入我的 iOS 开发专栏. 说起 iOS 开发,自然是绕不开 iPhone 和 App Store 这两个词.多少年过去了 ...

  7. 如何快速构建嵌入式全栈知识体系?

    嵌入式是一门交叉学科. 一个嵌入式电子产品(比如手机)从底层到上层,一般会涉及半导体芯片.电子电路.计算机.操作系统.多媒体等不同专业领域的知识. 很多从事嵌入式开发的朋友,通常来自不同的专业(电子. ...

  8. 快速构建嵌入式全栈知识体系以及如何进阶

    快速构建嵌入式全栈知识体系以及如何进阶 嵌入式是一门交叉学科.一个嵌入式电子产品(比如手机)从底层到上层,一般会涉及半导体芯片.电子电路.计算机.操作系统.多媒体等不同专业领域的知识.很多从事嵌入式开 ...

  9. Android开发知识体系,技术实现

    想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样. 本文参考了目前大部分 Android 应用启动优化的方案,将大家的方案做一个汇总,如果你有这方 ...

最新文章

  1. Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信
  2. arm opcode hook
  3. 第八节:Task的各类TaskTResult返回值以及通用线程的异常处理方案。
  4. 澄海哪里学机器人编程_少年学机器人编程
  5. java获取结果集_Java-如何获取结果集上的列名
  6. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.17
  7. html ubb c,UBB代码和HTML代码的区别
  8. GOF设计模式——工厂模式
  9. 《华为你学不会》读书笔记
  10. 新型电话诈骗手法“明天到我办公室来一下”全揭秘
  11. 马上金三银四了,注意下面这几点,面试通过率高达85%
  12. 关于微信开放平台授权事件接收Url的配置以及参数接收
  13. 阿里云RDS云数据库的使用
  14. 1360: 最大公约与最小公倍
  15. Time For Kids 很不错的英语学习周刊
  16. 异常中的异常——借助系统异常处理特例实现匪夷所思的漏洞利用
  17. 学习嵌入式linux与ARM开发板入门方法(一)
  18. ASP.NET学习之Repeater
  19. STM32 CubeMX 看门狗
  20. 数学加强 第一节 第二课

热门文章

  1. 面试时薪资要少了怎么办?
  2. ubuntu 安装code blocks全记录
  3. C语言数据结构应用题
  4. pytest文档25-conftest.py作用范围
  5. Vue 源码 思维导图
  6. L2TP and PPTP共存一键安装
  7. ubuntu-20.04-desktop-amd64.iso下载/rufus-3.10.exe下载
  8. F1C100S(Lichee Nano)触摸屏 (GT9147)
  9. No core dump will be written. Minidumps are not enabled by default on client versions of Windows
  10. python 贴吧自动回复_python 几行代码实现自动回复功能