用BaiduASRDigitalDialog的时候回调结果显示不出来呀,又没有大神指导什么原因?
肌肉男217 发布于2015-07 浏览:1987 回复:2
0
收藏

代码贴出来,大伙给看看问题出在哪里吧?

package com.voicetest;

import java.util.ArrayList;

import com.baidu.voicerecognition.android.VoiceRecognitionConfig;

import com.baidu.voicerecognition.android.ui.BaiduASRDigitalDialog;

import com.baidu.voicerecognition.android.ui.DialogRecognitionListener;


import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.os.StrictMode;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;


import java.util.ArrayList;

 

public class MainActivity extends Activity {

     

    private static final String API_KEY="XN1--vLY";

private static final String SECRET_KEY="bf--e8ab";

    private Button BtnStart;

    private EditText InputBox;

    private BaiduASRDigitalDialog mDialog=null;

    private DialogRecognitionListener mDialogListener=null;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

            InputBox=(EditText)findViewById(R.id.input);

            preshow();             

            BtnStart=(Button)findViewById(R.id.btn);

            BtnStart.setOnClickListener(new OnClickListener()

            {

                @Override

                public void onClick(View v) 

                {

                mDialog.show();

                 }

            });

            mDialogListener=new DialogRecognitionListener()

            {


@Override

                public void onResults(Bundle mResults) 

                {

                    ArrayList rs = mResults != null ? mResults

                            .getStringArrayList(RESULTS_RECOGNITION) : null;

                    if (rs != null && rs.size() > 0) {

                        InputBox.setText(rs.get(0));

                                                                    

                    }

                    else 

                    InputBox.setText("FUCK YOU!");

                }   

              

            };

            mDialog.setDialogRecognitionListener(mDialogListener);           

      }

        

 

    

    private void preshow(){

    if (mDialog == null) {

            if (mDialog != null) {

              mDialog.dismiss();

              }

          Bundle params = new Bundle();

          params.putString(BaiduASRDigitalDialog.PARAM_API_KEY, API_KEY);

          params.putString(BaiduASRDigitalDialog.PARAM_SECRET_KEY, SECRET_KEY);

          params.putInt(BaiduASRDigitalDialog.PARAM_PROP,VoiceRecognitionConfig.PROP_INPUT);

          params.putString(BaiduASRDigitalDialog.PARAM_LANGUAGE,VoiceRecognitionConfig.LANGUAGE_CHINESE);

          params.putBoolean( BaiduASRDigitalDialog.PARAM_NLU_ENABLE,true);

          params.putBoolean( BaiduASRDigitalDialog.PARAM_SHOW_TIPS_ON_START,true);

          params.putBoolean( BaiduASRDigitalDialog.PARAM_SHOW_TIP,true);

          params.putInt(BaiduASRDigitalDialog.PARAM_DIALOG_THEME, BaiduASRDigitalDialog.THEME_BLUE_LIGHTBG);

          mDialog = new BaiduASRDigitalDialog(this, params);  

    }

    }   

}





收藏
点赞
0
个赞
共2条回复 最后由用户已被禁言回复于2022-04
#3luckyToMe2回复于2020-02

看看

0
#2ctfyhome回复于2016-03

抱歉 只看代码信息量可能不足,还是多对照下文档吧 http://yuyin.baidu.com/docs/asr

0
TOP
切换版块