语音听写是讯飞语音的一大组成部分,也是语音开发的一个主要部分。讯飞语音听写分为带ui界面的开发和不带ui界面开发,今天我们要说的是带ui界面的开发。
在开发之前我们需要将我们从讯飞语音开放平台下载的开发包中的几个部分分别放在android项目对应位置。
我们把Msc.jar、libmsc.so和ui文件分别放在libs和assets文件夹中,如下图:
1、libmsc.so文件和Msc.jar包放在libs中并把Msc.jar包加载进工作空间(这个又是后eclipse会自动加载,如若不能自动加载就手动加载,加载方法在另一篇文献中android开发之.jar包加载)
2、ui界面文件加载将下载的文件包中的iflytek文件夹下的所有文件放在android工程下assets文件夹下面
3、把appid号写入string.xml文件中如下图,其结果如下(红色涂抹处为你自己申请的appid号)
4、添加工作权限,在AndroidManifest.xml文件中添加如下权限,(权限添加在<application>同级节点)如下图
以上步奏做完即为初始化预备已完成,下面开始重点代码:
//讯飞语音总入口
SpeechUtility.createUtility(MainActivity.this, SpeechConstant.APPID+"="+getString(R.string.app_id));
//创建带ui界面的听写对象, mInitListener为初始化监听器
RecognizerDialog recognizerDialog = new RecognizerDialog(MainActivity.this,mInitListener);
//开始听写函数 ,mRecognizerDialogListener为听写监听器
private void startSpeechListener(){ recognizerDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn"); recognizerDialog.setParameter(SpeechConstant.ACCENT, "mandarin"); recognizerDialog.setListener(mRecognizerDialogListener); recognizerDialog.show(); }
/* * 听写监听器 * */ private RecognizerDialogListener mRecognizerDialogListener = new RecognizerDialogListener(){ @Override public void onError(SpeechError arg0) { // TODO Auto-generated method stub } @Override public void onResult(RecognizerResult result, boolean isLast) { String text = JsonParser.parseIatResult(result.getResultString().toString()); Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show(); } };
完整代码无法上传压缩吧,有需要可以直接联系我