首先需要在

點選建立應用
建立完後,記住他的ID等資訊,後面會用到,随後在官網下載下傳語音識别的SDK
将裡面的libs輔助到這裡來,随後将baid.....于VoiceRecognition加入依賴。這樣Activity才能調用。
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);
}
}
頭:
添權重限:
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="語音識别"
android:onClick="btnVoiceRecognize_Click"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出"
android:onClick="btnQuit_Click"/>
</LinearLayout>
build.gradle:
需要添加這串以及依賴:
這是百度下載下傳下來的SDK
效果圖如下: