1.首先你要做的事情,打开讯飞开放平台,下载SDK(地址:http://www.xfyun.cn/sdk/dispatcher),平台上面的服务有很多种,根据项目的需求下载,下载前会让你先 创建一个应用,完后会生成一个唯一的appid。
2.这里以语音听写为例。(虽然是免费的,但是有次数限制,开发使用测试还可以,但是用户量多的还是建议购买服务)。
SDK下载完成之后解压出来,我们需要用到的有三样东西armeab文件夹里的libmsc.so库Msc.jar和Sunflower.jar,这三个放进去就OK了。
3.讯飞还为我们提供了一套语音听写的UI,如果选择使用的话,需要将刚才解压的SDK资源包assets路径下的资源文件拷贝到项目的asstes下(没有的话自己建一个)。
4.接下来看代码怎么实现,开放平台上面有开发文档,但是其实我不建议参考那个,因为SDK里面有demo,你只需要找到入口就可以,根据线索看下去,不一会儿就搞定了。
第一步:权限(只管拷贝进去就好了)
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
第二步:调用SpeechUtility.createUtility(this, "appid=" + getString(R.string.app_id)); 初始化创建对象,可以放在项目的application里面初始化,也可以在使用的时候初始化。
不然会报错:"创建对象失败,请确认 libmsc.so 放置正确,且有调用 createUtility 进行初始化"
接下来就把代码贴上去,带注释应该就能看懂了 。
在oncreat中的代码
mIat = SpeechRecognizer.createRecognizer(this, mInitListener);//这个是没有UI功能的,但是有Toast提示
mIatDialog = new RecognizerDialog(this, mInitListener);// 初始化听写Dialog,如果只使用有UI听写功能