Android 通过调用系统接口使用如 谷歌语音、百度语音、讯飞语音等语音识别对话框的方法

现在app的开发进程会集成一些语音识别功能,而一般开发者是不具备自己开发一套语音识别引擎的,因此大多数情况是选择一个已经成熟的语音识别引擎SDK集成到自己的app中。

通常情况下,这种集成分两种,一种是直接调用SDK为开发者设计好的弹出框,开发者不需要开发识别交互界面;还有一种是开发者只利用SDK提供的语音识别服务,自己开发一个属于自己的交互设计。

本文介绍最简单直接调起弹出框的方法。

首先,测试机需要安装如谷歌语音、百度语音、讯飞语音等产品的语音软件,这时可以在系统设置界面的语言与输入处找到相关的语音识别功能列表。然后就可以直接调用了。

下面是调用的步骤:

首先:在Activity中实例一个intent,intent的action设置为RecognizerIntent.ACTION_RECOGNIZE_SPEECH或者RecognizerIntent.ACTION_WEB_SEARCH,关于RecognizerIntent可以查看本博客之前的文章,然后调用一个带返回结果的操作

<pre name="code" class="java">@Override
        public void onClick(View v) {
           Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
	     //Intent intent=new Intent(RecognizerIntent.ACTION_WEB_SEARCH);
           startActivityForResult(intent, 0);
        }

然后:在返回结果中取出携带字符串RecognizerIntent.EXTRA_RESULTS对应的结果,android语音识别服务统一将结果以ArrayList<String>形式返回,如下代码

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        ArrayList<String> results = data
                .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
        Log.i("zpf", results.get(0).toString());
    }

另外,需要在配置文件中添加:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
时间: 2024-10-11 16:16:21

Android 通过调用系统接口使用如 谷歌语音、百度语音、讯飞语音等语音识别对话框的方法的相关文章

Android 通过调用系统,如接口 谷歌语音、百度语音、科大讯飞语音等语音识别方法对话框

现在app在发展过程中会集成一些语音识别功能,不具有其自己的显影剂一般正在开发的语音识别引擎,所以在大多数情况下,它是选择一个成熟的语音识别引擎SDK集成到他们的app在. 平时,这种整合被分成两个,一种是直接调用SDK开发商设计了弹出框.互界面:另一种是开发人员仅仅利用SDK提供的语音识别服务,自己开发一个属于自己的交互设计. 本文介绍最简单直接调起弹出框的方法. 首先.測试机须要安装如谷歌语音.百度语音.讯飞语音等产品的语音软件,这时能够在系统设置界面的语言与输入处找到相关的语音识别功能列表

android中调用系统的发送短信、发送邮件、打电话功能

1 调用发送短信功能: Uri smsToUri = Uri.parse("smsto:"); Intent sendIntent = new Intent(Intent.ACTION_VIEW, smsToUri); sendIntent.putExtra("address", "123456"); //电话号码,这行去掉的话,默认就没有电话 sendIntent.putExtra("sms_body","短信内容

Android中调用系统所装的软件打开文件(转)

Android中调用系统所装的软件打开文件(转) 在应用中如何调用系统所装的软件打开一个文件,这是我们经常碰到的问题,下面是我所用到的一种方法,和大家一起分享一下! 这个是打开文件的一个方法: Java代码 /** * 打开文件 * @param file */ private void openFile(File file){ Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //设置in

讯飞语音接口注册

1.首先申请账号 http://open.voicecloud.cn/ 一个邮箱就够了,验证邮箱后,会得到一个appid 2.然后登陆账号,到“我的语音云”---创建一个新的应用 填写应用名称iflyreminder,后选择分类,然后描述应用大致要实现的功能,选择平台,这里选择Android. 当然也有IOS WP8 JAVA FLASH WINDOWS LINUX等平台.提交后就建立成功了. 3.在“我的语音云”---我的应用下,选择刚刚创建的iflyreminder,点“立即开通服务”(默认

Android讯飞语音云语音听写学习

讯飞语音云语音听写学习         这几天两个舍友都买了iPhone 6S,玩起了"Hey, Siri",我依旧对我的Nexus 5喊着"OK,Google".但种种原因,国内的"OK,Google"并不能展示出他的全部威力,于是上网搜索国内Android平台的语音助手,个人觉得评价最好的是讯飞的--灵犀语音助手.其实讯飞语音云平台早就注册过了,并下载了相应的SDK,只是没仔细研究.今天突然想好好学习一下,以方便以后集成到自己开发的APP中,

cocos2dx实现android的对讯飞语音的合成(语言朗读的实现)

事实上非常easy,只是有些细节须要注意. 关于讯飞语音在android上的应用,大家须要自己去下载SDK,然后依照讯飞语音提供的api在自己的android的Demo上执行成功,那东西也相当的简单. 然后,大家也须要把自己的cocos2dx项目在android 上部署起来,这些网上资料非常多,也不一一解释,兴许我也会做出相应的总结.这里不多说. OK,废话不多说,直接上代码 思路就是,通过cocos2dx的JNIhelper类实现C++对Java的调用,然后实现语音功能 废话不多说: 直接上代

Android 讯飞语音之语音合成(在线有声朗读)

在线语音合成的使用方法: 首先下载相关的sdk,这个网址里有多种版本,我选择的Android. http://open.voicecloud.cn/index.php/services/voicebase?type=tts&tab_index=1 需要注意的是,最好先创建应用,审核通过后会返回一个APPID号,这个号在开发时会使用. 下载并解压后如图: 其中,doc中是相关文档,libs中是待会儿要导入的语音包,sample中是自带的Demo,大家可以看看. 下面我们通过实例来简单的使用在线语音

一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino

大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说最大的问题是标准不统一云云,但在我看来,最大的问题在于两个方面,一个是价格,一个是操作的简便性,技术上的问题并不是阻碍智能家居推广的核心因素. 再来说说最近很火很惹人爱的微软小娜,Cortana.本人作为微软的死忠,作为一名靠.Net混饭的屌丝程序男,自然是有一部撸妹的,并且在小娜推送当天更新了手机

Android 如何调用系统默认浏览器访问

// 调用系统默认浏览器 // 参考: // http://www.cnblogs.com/zhwl/archive/2011/11/15/2249848.html // https://segmentfault.com/a/1190000003912694 case R.id.tv_about_weibo: // 关于微博 // 直接打开 // Intent intent= new Intent(); // intent.setAction("android.intent.action.VIE