android 科大讯飞语音识别 集成文档

集成语音识别时也是查了很多资料最后终于集成完成,把自己的经验分享出来,希望能够帮助大家

下载官方的集成SDK 复制相关资料

android 科大讯飞语音识别 集成文档

在自己的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.设置accentlanguage等参数
    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();
 }


好了,简单的集成已经完成了,希望这些能够帮助大家能够更快的集成,让大家少走弯路