Android利用RecognizerIntent识别语音并简单实现打电话动作
关于Android利用RecognizerIntent识别语音并简单实现打电话,具体看实现代码如下:
package com.example.recognizerintentactivity;import java.util.ArrayList;import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.speech.RecognizerIntent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast;public class MainActivity extends Activity {private Button btnReconizer; private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);btnReconizer = (Button) this.findViewById(R.id.btnRecognizer); btnReconizer.setOnClickListener(new OnClickListener() {@Override public void onClick(View v) { // TODO Auto-generated method stub try { // 通过Intent传递语音识别的模式,开启语音 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); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); Toast.makeText(getApplicationContext(), "找不到语音设备", 1) .show(); } } });}@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub // 回调获取从谷歌得到的数据 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); }if(resultString.indexOf("喂") >-1){ String tel = "15100000000"; Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + tel)); startActivity(intent); Toast.makeText(this,tel, 1).show(); }else{ Toast.makeText(this, "没找到要拨打的电话", 1).show(); } } super.onActivityResult(requestCode, resultCode, data); } }
这里,我们需要注意的是,需要用到两个权限,一个是网络资源,一个是打电话的这个动作权限,因此,我们需要修改 AndroidMainfest.xml增加两条内容,如下
<uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.INTERNET" />
Android利用RecognizerIntent识别语音并简单实现打电话动作相关推荐
- Android 利用 Voice Search语音接口 进行语音识别结果太不准
公司最近在做语音识别的项目,但是又要求要录音,纠结了很久,后来发现谷歌的借口了,但是去识别不准.唉....直接上代码大神们帮我看看吧,小弟在此谢过了. public class MainActivit ...
- Android利用DiskLruCache和LruCache实现简单的照片墙
现在很多App的某些功能会把图片以及内容缓存在本地,即使是没有网络的情况下也还是可以加载出之前浏览过的内容来,这些功能就是使用了DiskLruCache技术: LruCache负责管理内存中图片的存储 ...
- Android 利用viewPager FragmentPagerAdapter 做一个简单的相册视图
说一下注意事项:你的布局需要用到viewparger 和 tabLayout 控件这两个控件要写全路径名 看图片中Tablayout的参数 设置选中 非选中 下划线颜色. 如果网络获取图片加权限 &l ...
- 安卓(Android)开发百度语音唤醒(识别)
安卓(Android)开发百度语音唤醒(识别) 目录 安卓(Android)开发百度语音唤醒(识别) 一:准备 1:获取自定义唤醒词 2:SDK下载 3:将bdasr_V3_xxx_xxx.jar引入 ...
- Android语音转文字一识别语音
项目地址:https://github.com/zhanlv/VtDemo 讯飞AndroidSDK文档:https://doc.xfyun.cn/msc_android/%E9%A2%84%E5%A ...
- Android利用MedioRecorder使用仿微信语音录音以及播放(总结)
今天模仿着微信的发送语音功能做了一下,现将步骤以及其中遇到的问题记录一下,以便以后查看. 实现功能:1.录制语音并显示到列表中:2.点击列表中的语音自动进行播放:3.录制语音时以及播放语音时的动画效果 ...
- 打造Android的中文Siri语音助手
打造Android的中文Siri语音助手(一)--小I机器人的接口 分类: android2011-12-02 14:10 7879人阅读 评论(44) 收藏 举报 androidstringpath ...
- Android之人脸识别
前言 人工智能时代快速来临,其中人脸识别是当前比较热门的技术,在国内也越来越多的运用,例如刷脸打卡.刷脸App,身份识别,人脸门禁等等.当前的人脸识别技术分为WEBAPI和SDK调用两种法方式,WEB ...
- android tensorflow文字识别身份证识别ocr文字识别商用源码
一 ,文字识别简介 计算机文字识别,俗称光学字符识别,英文全称是Optical Character Recognition(简称OCR),它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并 ...
最新文章
- Corn Fields(POJ 3254状压dp)
- 机器学习(MACHINE LEARNING)MATLAB蚁群算法解决TSP问题
- 小学计算机ppt课教案,小学信息技术公开课教案《让幻灯片变得更加漂亮》教学设计与反思...
- 自动化Debias框架,一键去除推荐系统所有Bias
- 进一步理解CSS浮动与清除浮动
- 不再遥不可及!盘点独角兽自动驾驶战略
- 求101-200以内的素数
- iOS底层探索之多线程(十一)—GCD源码分析(调度组)
- 2021深圳杯数学建模D题概览
- 中国机床行业投资现状与十四五发展战略决策报告2022版
- 方便简洁的在线WEB多人网页聊天室系统源码
- Crushers is the determiner in mining industry
- mongoose视频教程
- 魔兽争霸3冰封王座 对战初始化被禁止
- 一零二、Vue中自定义emoji表情包
- shipyard中文版安装教程(附安装脚本)
- 【python】parser.add_argument后面为什么要加-和--?
- 练手必备,20个Python实战项目含源代码
- echarts中如何配置图例形状、图标宽高、图标和文字间距、图例位置、文字颜色、字体大小
- 科大讯飞离线命令词识别
热门文章
- linux离线安装pyhs2,Python 下载及安装详细步骤
- git 使用_Git使用总结
- createbitmap 旋转90度_小学数学,图形的运动,平移与旋转
- MyStringUtil.java String工具类
- mybatis一套完整入门教程
- java面试宝典 之 物流配送路径优化问题分析与算法解读
- 2021年高考成绩查询梧州市,2021高考结束!带你直击梧州考生走出考场的那一瞬间!6月23日公布高考分数线.....
- enfp工具箱怎么用_隐喻:你的工具箱
- Apache2.4开启php
- 读取Webpage表中的内容