package com.android.speech;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button start=(Button) findViewById(R.id.start);
start.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.start:
try {
Intent intent = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "开启语音");
startActivityForResult(intent, 10);
} catch (Exception e) {
Toast.makeText(MainActivity.this, e.getMessage(),
Toast.LENGTH_LONG).show();
}
break;
default:
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (10 == requestCode && resultCode == RESULT_OK) {
Toast.makeText(MainActivity.this, "返回结果正常",
Toast.LENGTH_LONG).show();
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); //获取语言的字符
//如果是页面的话,可以更新到页面 每个字母一列
// ListView lv = new ListView(null);
//
// lv.setAdapter(new ArrayAdapter<String>(this, R.layout.main, result));
String resultString="";
//组成字符串
for (int i=0;i<result.size();i++)
{
resultString +=result.get(i);
}
Toast.makeText(MainActivity.this, resultString, Toast.LENGTH_LONG).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
}
android语音识别demo
最新推荐文章于 2025-06-07 01:14:45 发布