1. 說明
以下例程功能爲:在應用程序中使用通於訪問service調用語言識別功能,錄音並識別後將識別的字串通過Listener返回給應用程序。注意:使用前需要安裝語音識別服務,如編譯安裝源碼中的development/samples/VoiceRecogitionService。
2. 本例參考自android源碼
a) 後臺服務
參見development/samples/VoiceRecognitionService/*
此處實現了一個模擬的後臺服務,它並未實現真的語音識別,而只是一個框架以示例,編譯並安裝它,即可在設置的語音輸入與輸出中看到它,它包含了一個設置界面,當連接這個Service時,如果設置了Letters,則直接返回abc,如果設置了Numbers,則直接返回123
你可以自己實現,用於連接android源碼自帶的識別引擎srec.
b) 前臺程序
參見frameworks/base/core/java/android/speech/Recognition*
它與後臺Service交互,此段代碼實現在應用程序界面中
3. 可從此處下載可獨立運行的代碼(前臺程序):
http://download.csdn.net/source/2591401
4. 核心代碼及說明
package com.android.mystt3;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.speech.RecognitionListener;
import android.speech.RecognizerIntent;
import android.speech.SpeechRecognizer;
import android.widget.Button;
import android.widget.TextView;
import java.util.ArrayList;
import android.util.Log;
public class MyStt3Activity extends Activity implements OnClickListener {
private TextView mText;
private SpeechRecognizer sr;
private static final String TAG = \"MyStt3Activity\