今天看到了一本书上一个简单的语音识别代码,现在抄过来,算是做个简单的笔记吧,以防突然需要查找的时候找不到资料。也希望需要这方面学习的朋友能关注一下。代码是从书上看的,至于书的名字,就不写了,这样就没有做广告的嫌疑了!
别的不说了,代码如下:
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) { // requestCode 自己传的代码 // resultCode 返回的结果状态 // TODO Auto-generated method stub 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); }
通过以上方式就可以把通过语音说的显示出来了!当然如果你要做别的方面的处理与识别也是可以的,具体的可以查看相关资料,这里只是做一个简单的入门介绍。
代码放在上面有点乱 ,不过可以凑合着看。复制后可以重新排版就好了。