语音识别(加注释)
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
public class TTSsuActivity extends Activity {
private Button btnSpeek=null;
private ListView listView=null;
private static final int REQ_CODE=100;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnSpeek=(Button)findViewById(R.id.btnSpeek);
listView=(ListView)findViewById(R.id.listView);
PackageManager pm=getPackageManager();
//判断有无viod search
List<ResolveInfo> list=pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH),0);
//如果没有
if(list.size()==0){
//Button不可用
btnSpeek.setEnabled(false);
//Button显示无法进行语音识别
btnSpeek.setText("无法进行语音识别");
}
}
public void speek(View view){
//通过Intent传递语音识别的模式,开启语音
Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//语言模式和自由形式的语音识别
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//提示
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"please speek");
//开始执行Intent、语音识别
startActivityForResult(intent,REQ_CODE);
}
@Override
//服务器端返回值
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//判断是否是我们执行的语音识别
if(requestCode==REQ_CODE&&resultCode==RESULT_OK){
//取得语音的字符
ArrayList<String> array=data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
//设置视图更新
ArrayAdapter adapter=new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1,array);
//
listView.setAdapter(adapter);
}
}
}
更多相关文章
- Android(安卓)A/B system - update_engine
- Android中常见的设计模式
- Android(安卓)Gitlab CI/CD脚本
- ==(Android)简易计算器==
- 图库选择
- android执行脚本语言完成root
- Android语音识别简单示例
- android 蓝牙发送数据
- 动画