Android开发之语音识别,Android开发知识体系
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开发知识体系相关推荐
- android开发-百度语音识别Android SDK的简单使用
目录 1.引言 2.开发环境 3.准备开发环境 3.1安装Android studio 3.2创建百度智能云平台应用 3.1下载百度语音识别SDK 4.实现语音识别的简单案例 4.1创建Android ...
- Android 悬浮窗语音识别功能开发详解
笔者是一个普通不能再普通的程序员,本着出处兴趣,花时间研究了一下,想实现手机的悬浮窗语音识别功能,这样不影响自己其它操作的,语音识别技术是用百度云语音sdk,应该不难实现,很难实现就是核心语音识别技术 ...
- 【转】Java开发必须要知道的知识体系
Java Java是一门超高人气编程语言,拥有跨平台.面向对象.泛型编程等特性.在TIOBE编程语言排行榜中,连续夺得第一宝座,而且国内各大知名互联网公司,后端开发首选语言:非Java莫属.今天只是梳 ...
- android 调用微信语音识别,Android 仿微信语音识别
参考于:Android模仿微信语音聊天功能,这代码跑起来有问题,自己改动了一下,基本上没什么大问题 先贴下效果图 1.三个布局文件 activity_main.xml dialog_manger.xm ...
- android自带语音识别,Android如何实现自带谷歌语音识别垃圾分类APP
基于Android实现自带谷歌语音识别垃圾分类APP 此次做的项目是垃圾分类APP,涵盖内容各类垃圾的分类详情,关于软件的介绍,分享软件,语音识别,基于API搜索.文章末尾附源码,源码全注释. 项目主 ...
- IOS开发高手课第一篇 构建自己的IOS开发知识体系
开篇词 | IOS开发锚定一个点,然后在这个点上深耕 你好,我是戴铭,欢迎你加入我的 iOS 开发专栏. 说起 iOS 开发,自然是绕不开 iPhone 和 App Store 这两个词.多少年过去了 ...
- 如何快速构建嵌入式全栈知识体系?
嵌入式是一门交叉学科. 一个嵌入式电子产品(比如手机)从底层到上层,一般会涉及半导体芯片.电子电路.计算机.操作系统.多媒体等不同专业领域的知识. 很多从事嵌入式开发的朋友,通常来自不同的专业(电子. ...
- 快速构建嵌入式全栈知识体系以及如何进阶
快速构建嵌入式全栈知识体系以及如何进阶 嵌入式是一门交叉学科.一个嵌入式电子产品(比如手机)从底层到上层,一般会涉及半导体芯片.电子电路.计算机.操作系统.多媒体等不同专业领域的知识.很多从事嵌入式开 ...
- Android开发知识体系,技术实现
想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样. 本文参考了目前大部分 Android 应用启动优化的方案,将大家的方案做一个汇总,如果你有这方 ...
最新文章
- Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信
- arm opcode hook
- 第八节:Task的各类TaskTResult返回值以及通用线程的异常处理方案。
- 澄海哪里学机器人编程_少年学机器人编程
- java获取结果集_Java-如何获取结果集上的列名
- [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.17
- html ubb c,UBB代码和HTML代码的区别
- GOF设计模式——工厂模式
- 《华为你学不会》读书笔记
- 新型电话诈骗手法“明天到我办公室来一下”全揭秘
- 马上金三银四了,注意下面这几点,面试通过率高达85%
- 关于微信开放平台授权事件接收Url的配置以及参数接收
- 阿里云RDS云数据库的使用
- 1360: 最大公约与最小公倍
- Time For Kids 很不错的英语学习周刊
- 异常中的异常——借助系统异常处理特例实现匪夷所思的漏洞利用
- 学习嵌入式linux与ARM开发板入门方法(一)
- ASP.NET学习之Repeater
- STM32 CubeMX 看门狗
- 数学加强 第一节 第二课
热门文章
- 面试时薪资要少了怎么办?
- ubuntu 安装code blocks全记录
- C语言数据结构应用题
- pytest文档25-conftest.py作用范围
- Vue 源码 思维导图
- L2TP and PPTP共存一键安装
- ubuntu-20.04-desktop-amd64.iso下载/rufus-3.10.exe下载
- F1C100S(Lichee Nano)触摸屏 (GT9147)
- No core dump will be written. Minidumps are not enabled by default on client versions of Windows
- python 贴吧自动回复_python 几行代码实现自动回复功能