Slide 12
Slide 12 text
System
App
获取语⾳音输⼊入
除了可以⽤用语⾳音操作启动activity,还可以获取⽤用户的语⾳音输⼊入内容并且处理它们,例如将语⾳音输⼊入内容作为搜索内容或者短信发送出
去。
调⽤用startActivityForResult()启动处理语⾳音识别的activity,并且intent设置action为ACTION_RECOGNIZE_SPEECH。
并在activity中重写onActivityResult()⽅方法,来处理返回的语⾳音输⼊入结果。
private static final int SPEECH_REQUEST_CODE = 0;
private void displaySpeechRecognizer() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
startActivityForResult(intent, SPEECH_REQUEST_CODE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) {
List results = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
String spokenText = results.get(0);
}
super.onActivityResult(requestCode, resultCode, data);
}
Voice