现在的位置: 首页 > 综合 > 正文

Android语音识别

2013年10月09日 ⁄ 综合 ⁄ 共 977字 ⁄ 字号 评论关闭
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, SPEECHREQUEST);
 	} catch (Exception e) {
   		Toast.makeText(SpeechrecognitionTest.this, e.getMessage(),
     		Toast.LENGTH_LONG).show();
   }
如果要对返回的代码进行处理,则需要重写写处理函数,代码如下:
	@Override
    protected void onActivityResult(int requestCode, int resultCode,
            Intent intent) {
        if (SPEECHREQUEST == requestCode && resultCode == RESULT_OK) {
            Toast.makeText(SpeechrecognitionTest.this, "返回结果正常",
                    Toast.LENGTH_LONG).show();
            ArrayList<String> result = intent.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);
            }
        }
        super.onActivityResult(requestCode, resultCode, intent);
    }

抱歉!评论已关闭.