已同步更新至我的blog:http://dxjia.cn/2016/02/29/baidu-voice-helper/java
最近在一个练手小项目里要用到语音识别,搜索了一下,比较容易集成的就算Baidu voice跟讯飞语音了,baidu提供了直接能够使用的显示控件,而讯飞须要本身实现,另外baidu提供天天5W次的调用频率,对于我来讲足够使用啦。因此就选择使用Baidu Voice(控件会有baidu logo和关键字,因此正式产品使用要斟酌)。android
看了一下baidu提供的android sdk,仍是eclipse时代的,若是想要使用他的控件,须要集成他的资源文件到本身的工程目录,还须要在AndroidManifest.xml里增长权限以及activity、service声明等,有些繁琐,并且这些文件夹杂在你的工程里,多少有些凌乱。git
另外,有一点,baidu提供的这个控件必需要本身来设置提示音文件,不设置的话,sdk会报null point错。github
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都是能够引用到的。api
库分享在github上了,能够参照readme使用。eclipse