Android 开发中调用google语音接口
来源:互联网 发布:js获取元素的父节点 编辑:程序博客网 时间:2024/05/24 00:25
最近项目开发中需求中要采用多种的输入方式,于是乎想起google的语音搜索做了一下尝试,做了一个简单的语音识别的demo,总结起来,大致的过程如下:
一、检查Androird手机上是否装上了google的语音搜索(一般Android的手机都会自带,没有的话需要你自己手动下载)
PackageManager pm = getPackageManager(); List<ResolveInfo> activities = pm.queryIntentActivities(new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0); if (activities.size() != 0) {//触发事件 mBtnPlayVoice.setOnClickListener(this);//触发语音识别 mBtnPlayVoice.setOnTouchListener(new BtnRecordVoiceListener()); } else { mBtnPlayVoice.setEnabled(false);二、设置监听,请求google的语音识别
private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;加上这一句。具体含义可以参考google语音搜索的api.
private void startVoiceRecognitionActivity() { try { 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) { e.printStackTrace(); getToast("找不到语音设备"); } } mBtnPlayVoice.setText(“请先装谷歌语音助手”);}
三、响应回调函数,获取语音识别的字符串进行处理
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) { ArrayList<String> matchResults = data .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); String voice_str = " "; // for (int i = 0; i < matchresults.size(); i++) { // voice_str += matchresults.get(i).toString(); // }//数组中是匹配到的字符串数组 voice_str = matchResults.get(0).toString();// 只要最相似的就行,去第一个, sendMsg(voice_str);//获得到识别的字符串再进行处理 } super.onActivityResult(requestCode, resultCode, data); }
四、总结
总的来说,语音识别技术现在都有开放的api可以调用,目前国内还有讯飞语音的api是开放的,整体来说调用第三方的SDK实现起来比较简单,另外,语音识别后面一般还有语音合成(读出来)。是否使用看你的需求了。
- Android 开发中调用google语音接口
- Android 开发中调用google语音接口
- 调用Google翻译 语音接口
- 调用Google翻译 语音接口
- android 语音识别接口开发。
- Android开发中webService接口调用示例
- Android开发中通过WebService调用接口
- 基于Google的嵌入式系统android开发语音技术(语音搜索,语音朗读文章,语音控制)
- 关于android上调用google的语音识别功能
- [转]Android开发中调用Google Map或Baidu Map
- C# 调用Google语音识别
- android 语音识别接口
- android 语音识别接口
- android 语音识别接口
- Android 语音识别接口
- Android 通过调用谷歌语音系统接口弹出语音识别对话框的方法 .
- Android 通过调用谷歌语音系统接口弹出语音识别对话框的方法 .
- 调用百度语音合成接口
- Unity3D中常用js脚本的C#版
- [第一次训练]Arithmetic Progression
- td中div居中对齐
- Unity3D GUI.VerticalSlider和HorizontalSlider用 javaScript
- 中文编码相关,python处理gbk编码的xml文件方法
- Android 开发中调用google语音接口
- BigDecimal
- Struts2接收参数的几种方式
- LinkList的create,delete,print
- 加减乘除Decimal
- c fseek()函数使用
- [第一次训练]Brackets
- 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比
- 使用JDK中的安全包对数据进行加解密