Android调用科大讯飞语音api处理语…

Android开发包中自带了Google的语音识别系统,但是经过本人测试在许多机型上发挥效果差别大,稳定性不好,中文识别能力不强。在开发带有语音识别的工程的时候推荐使用科大讯飞语音的API。
下面介绍一下科大讯飞API使用的整个流程:
1.获取官方授权:
和其他的第三方API提供者一样,要使用讯飞语音API就必须在它的官网上注册开发者账号,填写APP相关信息,获取appid。具体步骤不详细说明,讯飞开发者社区地址: http://open.voicecloud.cn/index.php/default/index
2.下载SDK
讯飞语音为Anroid提供了两种形式API,一种是 有UI API,一种是讯飞+API,因为Android编程大多是基于UI界面的所有我们选择有UI API,其开发文档在下载完的文件夹中可以找到。
3.将开发包导入项目
(1)在Eclipes你的项目处右键点击,选择Build Path->Configure Build Path->Libraries
->Add JARS选择下载SDK文件中的Msc.jar。
(2)将SDK.\lib目录下libs文件夹内的文件拷到工程libs文件夹中,确保.\libs\**\libmsc.so文件存在。其中arm、arm-v7a、mips、x86是四种不同架构,为了支持不同的机型,对于普通Android开发者只需引入arm架构即可,以减少APP安装包大小。
(3)在工程AndroidManifest.xml文件下添加如下权限:
4.语音转化文字Demo
// 创建识别对话框,需传入正确appid
RecognizerDialog isrDialog = new RecognizerDialog(this, "appid=12345678");
isrDialog.setEngine(”sms”,null,null);
isrDialog.setListener(recognizeListener);
isrDialog.show();
String mytext = “”;
// 转写回调监听器.
RecognizerDialogListener recognizeListener = new RecognizerDialogListener(){
// 识别结果回调接口
public void onResults(ArrayList results, boolean
isLast){
// 一般情况下会通过onResults接口多次返回结果,完整的识别内容是多次结果的累
加.
for(int i = 0; i < results.size(); i++)
mytext += results.get(i).text;
}
// 会话结束回调接口.
public void onEnd(SpeechError error) {
// error为null表示会话成功,可在此处理text结果,error不为null,表示发生错误,对
话框停留在错误页面
}
};



你可能感兴趣的:(programming)