安卓语音识别例子——转

  1. public class RecognizerIntent_TestActivity extends Activity {
  2.         private static final int VOICE_RECOGNITION_REQUEST_CODE=1;
  3.         
  4.         private ListView mList;
  5.         Button mButton;
  6.         
  7.     @Override
  8.     public void onCreate(Bundle savedInstanceState) {
  9.         super.onCreate(savedInstanceState);
  10.         setContentView(R.layout.main);
  11.       
  12.         mButton=(Button)findViewById(R.id.myButton);
  13.         mButton.setOnClickListener(new myRecognizerIntentListener());
  14.         
  15.         mList=(ListView)findViewById(R.id.myListView);
  16.     }
  17.    
  18.     public class myRecognizerIntentListener implements OnClickListener{
  19.                 @Override
  20.                 public void onClick(View v) {
  21.                         try {
  22.                                 //用Intent来传递语音识别的模式,并且开启语音模式
  23.                                 Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
  24.                                 //语言模式和自由形式的语音识别
  25.                                 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
  26.                                 //提示语言开始
  27.                                 intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "请开始语音");
  28.                                 //开始语音识别
  29.                                 startActivityForResult(intent,VOICE_RECOGNITION_REQUEST_CODE);
  30.                         } catch (ActivityNotFoundException e) {
  31.                                 Toast.makeText(RecognizerIntent_TestActivity.this, "找不到语音设备", Toast.LENGTH_LONG).show();
  32.                         }
  33.                 }
  34.     }
  35.     //语音结束时的回调函数
  36.         @Override
  37.         protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  38.                 if(requestCode==VOICE_RECOGNITION_REQUEST_CODE&&resultCode==RESULT_OK){
  39.                         //取得语音的字符
  40.                         ArrayList<String> results=data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
  41.                         //设置视图的更新
  42.                         mList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,results));
  43.                         String resultsString="";
  44.                         for (int i = 0; i < results.size(); i++) {
  45.                                 resultsString+=results.get(i);
  46.                         }
  47.                         Toast.makeText(this, resultsString, Toast.LENGTH_LONG).show();
  48.                 }
  49.                 super.onActivityResult(requestCode, resultCode, data);
  50.         }
  51. }
复制代码
点击按钮后: 1_副本.jpg

如果没联网会出现连接错误:
2_副本.jpg
向话筒说完“电脑”一词后:

3_副本.jpg
原文地址:http://www.apkbus.com/forum.php?mod=viewthread&tid=15891
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值