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);

}

}

}

更多相关文章

  1. Android(安卓)A/B system - update_engine
  2. Android中常见的设计模式
  3. Android(安卓)Gitlab CI/CD脚本
  4. ==(Android)简易计算器==
  5. 图库选择
  6. android执行脚本语言完成root
  7. Android语音识别简单示例
  8. android 蓝牙发送数据
  9. 动画

随机推荐

  1. Android应用程序获取ROOT权限的方法
  2. Android多媒体扫描过程(Android(安卓)Medi
  3. Android(安卓)图片的帧动画
  4. android 进度条的样式
  5. android ddms查看线程
  6. android sdk Content Loader's has encou
  7. Android(安卓)手势
  8. Java(Android)线程池
  9. 让editView、AutoCompleteTextView开始捕
  10. android:name