百度语音识别(Baidu Voice) Android studio版本

    最近在一个练手小项目里要用到语音识别,搜索了一下,比较容易集成的就算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

你可能感兴趣的:(android studio)