已同步更新至个人blog:http://dxjia.cn/2016/02/29/baidu-voice-helper/

最近在一个练手小项目里要用到语音识别,搜索了一下,比较容易集成的就算Baidu voice跟讯飞语音了,baidu提供了直接可以使用的显示控件,而讯飞需要自己实现,另外baidu提供每天5W次的调用频率,对于我来说足够使用啦。所以就选择使用Baidu Voice(控件会有baidu logo和关键字,所以正式产品使用要斟酌)。

看了一下baidu提供的android sdk,还是eclipse时代的,如果想要使用他的控件,需要集成他的资源文件到自己的工程目录,还需要在AndroidManifest.xml里增加权限以及activity、service声明等,有些繁琐,而且这些文件夹杂在你的工程里,多少有些凌乱。

另外,有一点,baidu提供的这个控件必须要自己来设置提示音文件,不设置的话,sdk会报null point错。

        intent.putExtra(EXTRA_SOUND_START, R.raw.bdspeech_recognition_start);
intent.putExtra(EXTRA_SOUND_END, R.raw.bdspeech_speech_end);
intent.putExtra(EXTRA_SOUND_SUCCESS, R.raw.bdspeech_recognition_success);
intent.putExtra(EXTRA_SOUND_ERROR, R.raw.bdspeech_recognition_error);
intent.putExtra(EXTRA_SOUND_CANCEL, R.raw.bdspeech_recognition_cancel);

  这也是因为目前sdk的jar无法自己包含res文件的原因,所以基于此,我就将他的sdk移植到了android studio上,将这些资源文件以及jar包 so文件统统打包到一个aar文件,并另外提供了一个接口文件(只有几个接口,用来调用控件),api方式的开发也可以使用这个aar包,因为其内部包含了baidu的jar包,所以baidu的api都是可以引用到的。

库分享在github上了,可以参照readme使用。

https://github.com/dxjia/BaiduVoiceHelper

百度语音识别(Baidu Voice) Android studio版本的更多相关文章

  1. 【Android 应用开发】 Android 各种版本简介 ( Support 支持库版本 | Android Studio 版本 | Gradle 版本 | jcenter 库版本 )

    初学者遇到 Android Studio, 导入工程后, 会出现各种奇葩错误, 如果管理好各个插件, gradle, SDK, SDK Tools, 各种官方依赖库 的版本, 会将错误大大的减少; 这 ...

  2. android studio 版本修改无效解决方案

    我们都知道android的版本声明,是在AndroidManifest.xml文件里面的.例如 <manifest xmlns:android="http://schemas.andr ...

  3. Android Studio 版本间区别

    2.3.2 ->3.0.1  Gradle版本为4.1   com.android.tools.build:gradle:3.0.x Android Monitor 被换成了 Android P ...

  4. Archive of all Android Studio releases / Eclipse 版本大全 / OpenJDK 各版本

    一 Android Studio 版本大全 https://developer.android.com/studio/archive.html Download Archives This is an ...

  5. Android Studio 2.3.2 下载 - 百度网盘

    Android Studio是一个为Android平台开发程序的集成开发环境,其包含用于构建Android应用所需的所有工具. Android Studio 2.3.2为最新的稳定版(截止到2017年 ...

  6. android studio 和gradle版本问题解决

    打开android studio 开始导入一个 covrdova项目 结果弹出一个这样的对话框意思是  "尚未配置此项目的 gradle" "是否希望项目使用gradle ...

  7. 《Android Studio开发实战 从零基础到App上线》资源下载和内容勘误

    转载于:https://blog.csdn.net/aqi00/article/details/73065392 资源下载 下面是<Android Studio开发实战 从零基础到App上线&g ...

  8. Android Studio开发入门-引用jar及so文件

    作者:王先荣    最近初学安卓开发,因为以前从未用过JAVA,连基本的语法都要从头开始,所以不太顺利.在尝试使用百度语音识别引擎时遇到了如何引用jar及so文件的问题.在GOOGLE加多次尝试之后, ...

  9. [转]Android Studio开发入门-引用jar及so文件

    注意: 1.jar包在app的libs目录 2.so文件放在src/main”目录中名为“jniLibs”的目录 一.引用jar文件    1.将jar文件复制.粘贴到app的libs目录中:    ...

随机推荐

  1. 评分视图的封装 (星星 RatingView)

    #import "RatingView.h" #define kRatingScale 10 @implementation RatingView { UIView *_grayS ...

  2. 7.1 Java中的堆和栈

    栈与堆都是Java用来在Ram中存放数据的地方.Java自动管理栈和堆,程序员不能直接地设置栈或堆. Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new.newarray.ane ...

  3. Unity3D研究院之使用Animation编辑器编辑动画(五十四)

     Unity提供了Animation编辑器,它可以为我们编辑物理动画.举个例子比如场景中有一个来回摇动的秋千,这个秋千在项目中完全只起到衬托作用,它不会与别的游戏对象有任何交互.如果这个秋千也用代码来 ...

  4. nginx实现访问网站或目录密码认证保护

    添加目录登陆认证 location / { auth_basic "提示"; auth_basic_user_file /usr/conf/htpasswd; } auth_bas ...

  5. APUE1

    [APUE]进程控制(上)   一.进程标识 进程ID 0是调度进程,常常被称为交换进程(swapper).该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程.进程ID 1是in ...

  6. linux系统基础网络配置

    1.修改主机名 临时方法: 退出当前shell重新登录即可生效.此法只能临时修改生效.重启系统后失效. 提示:很多人使用hostname主机名来修改,其实这个只是作为暂时的.重启后将恢复到配置前的主机 ...

  7. Jpeg2000 简介

    http://www.baike.com/wiki/Jpeg2000 总结Jpeg2000的六个方面:    ⑴ JPEG2000可以方便地实现渐进式传输,这是JPEG2000的重要特征之一.看到这种 ...

  8. C++ Primer学习笔记二

    vector<int> a(10,0); for(vector<int>::iterator itor=a.begin();itor!=a.end();itor++) *ito ...

  9. DDD Example

    PART 1: http://www.infoq.com/presentations/model-to-work-evans PART 2: http://www.infoq.com/presenta ...

  10. centos 6.5卸载Mysql

    yum remove  mysql mysql-server mysql-libs mysql-server