Baidu speech recognition function of android studio

first need to be in

 Click to create application

 

 

After creation, remember his ID and other information, which will be used later, and then download the speech recognition SDK on the official website 

Help the libs inside here, and then add baid..... to VoiceRecognition as a dependency. In this way, the Activity can be called. 

MainActivity:

package com.huangfushi.hfs192025214_yuyinshibie1;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

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

import java.util.ArrayList;

public class MainActivity extends ActionBarActivity {
    private BaiduASRDigitalDialog dlgVoiceRecognize;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dlgVoiceRecognize = createASRDialog();
    }
    @Override
    protected void onDestroy(){
        super.onDestroy();
        if (dlgVoiceRecognize!=null)
            dlgVoiceRecognize.dismiss();
    }
    public void btnVoiceRecognize_Click(View view){
        if (dlgVoiceRecognize!=null)
            dlgVoiceRecognize.show();
        else Toast.makeText(this, "初始化语音识别失败,无法打开。", Toast.LENGTH_LONG).show();
    }
    private BaiduASRDigitalDialog createASRDialog(){
        Bundle params = new Bundle();
        params.putString(BaiduASRDigitalDialog.PARAM_API_KEY, "7ZXYuM3vKzoa1Go01eRMAGFb");
        params.putString(BaiduASRDigitalDialog.PARAM_SECRET_KEY, "WhlqUamyw1Z7YPUrGb7cppHuYlA97WtC");
        params.putInt(BaiduASRDigitalDialog.PARAM_PROP, VoiceRecognitionConfig.PROP_INPUT);
        params.putString(BaiduASRDigitalDialog.PARAM_LANGUAGE, VoiceRecognitionConfig.LANGUAGE_ENGLISH);
        BaiduASRDigitalDialog dlgVoiceRecognize = null;
        try {
            dlgVoiceRecognize = new BaiduASRDigitalDialog(this,params);
            dlgVoiceRecognize.setDialogRecognitionListener(new DialogRecognitionListener() {
                @Override
                public void onResults(Bundle bundle) {
                    ProcessVoiceRecognizeResult(bundle);
                }
            });
        }catch (Exception e){
            Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG).show();
        }
        return dlgVoiceRecognize;
    }
    public void btnQuit_Click(View view){
        android.os.Process.killProcess(android.os.Process.myPid());
        System.exit(0);
    }
    public void ProcessVoiceRecognizeResult(Bundle results){
        ArrayList<String> rs = null;
        if (results != null)
            rs = results.getStringArrayList(DialogRecognitionListener.RESULTS_RECOGNITION);
        if (results ==null || rs==null || rs.size()<=0){
            Toast.makeText(this,"没有语音识别结果。",Toast.LENGTH_LONG).show();
            return;
        }
        String s="";
        for (String i:rs){
            s+=i;
        }
        Toast.makeText(this,s,Toast.LENGTH_LONG).show();
        if (s.contains("退出"))
            btnQuit_Click(null);
    }
}

head:

 Add permissions:

 

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.a10741.yn_215.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="speech recognition"
        android:onClick="btnVoiceRecognize_Click"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Exit"
        android:onClick="btnQuit_Click"/>
</LinearLayout>

build.gradle:

Need to add this string and dependencies:

This is the SDK downloaded by Baidu 

 The renderings are as follows:

 

Guess you like

Origin blog.csdn.net/a1060916181/article/details/127892246