Android2010. 7. 15. 11:28

안드로이드 블로그 링크

우편번호 어플 ZipCode(Kr) 에 사용된 음성인식 방법

 

//음성 버튼을 클릭했을 때 불러오는 메소드

private void startVoiceRecognitionActivity() {

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

}catch(Exception e){

            Toast.makeText(context,"음성 인식 어플리케이션이 없거나\n기능을 사용할 없습니다.",Toast.LENGTH_SHORT).show();

}

}

 

//음성인식 후 결과를 가져올 오버라이드 메소드

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {

ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

String result = matches.toString();//결과값을 가져온다.

result = result.substring(1, result.length()-1); //결과값 앞뒤에 [ ] 붙는거 제거

et_dongname.setText(result); //결과값을 출력한다.

 

}

 

super.onActivityResult(requestCode, resultCode, data);

}

Posted by ™설야