android 科大讯飞语音识别 集成文档
集成语音识别时也是查了很多资料最后终于集成完成,把自己的经验分享出来,希望能够帮助大家
下载官方的集成SDK 复制相关资料
在自己的Application中初始化
//初始化 SpeechUtility.createUtility(this, SpeechConstant.APPID +"=AppID");//填入注册应用的Appid 在清单文件中不要忘记注册你的Application 在当前的Activityde OnCreate方法中调用
mAsr = SpeechRecognizer.createRecognizer(this, mInitListener); mToast = Toast.makeText(this, "", Toast.LENGTH_SHORT);
private InitListener mInitListener = new InitListener() { @Override public void onInit(int code) { if (code != ErrorCode.SUCCESS) { showTip("返回码" + code); } } @Override protected void finalize() throws Throwable { Log.i("wch","code"); super.finalize(); } }; private void showTip(final String str) { this.runOnUiThread(new Runnable() { @Override public void run() { mToast.setText(str); mToast.show(); } }); } 在开始语音识别中调用此方法
public void initSpeech(final Context context) { final RecognizerDialog mDialog = new RecognizerDialog(context, mInitListener); //2.设置accent、language等参数 mDialog.setParameter(SpeechConstant.DOMAIN, "iat"); mDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");//中文 mDialog.setParameter(SpeechConstant.ACCENT, "mandarin");//普通话 mDialog.setParameter(SpeechConstant.AUDIO_FORMAT, "wav");//保存的音频的文件格式 mDialog.setParameter(SpeechConstant.ASR_AUDIO_PATH, Environment.getExternalStorageDirectory() + "/msc/asr.wav");//保存的音频文件地址 mDialog.setListener(new RecognizerDialogListener() { @Override public void onResult(RecognizerResult recognizerResult, boolean isLast) { if (!isLast) { String result = parseVoice(recognizerResult.getResultString());//返回的转换成文字的结果 tv_content.setText(result); File file = new File(Environment.getExternalStorageDirectory()+"/msc/asr.wav"); Log.i("wch", result); mDialog.dismiss(); } } @Override public void onError(SpeechError speechError) { } }); mDialog.show(); }
好了,简单的集成已经完成了,希望这些能够帮助大家能够更快的集成,让大家少走弯路