상세 컨텐츠

본문 제목

[안드로이드] 음성 인식 사용하기.

Android.. Story

by HeyLee 2011. 4. 26. 01:15

본문


근래 너무 공부하느라 바뻐서 포스트를 제대로 된 포스트를 못쓰는것 같다.

너무 간단한 것만 올려서 포스트의 질이 떨어지고 있다고 할까나..

하지만 누군가에게 유용하길 바라면서 포스트를 작성하고 있다..
(물론 나도 공부겸해서 올리면서 정리한다..ㅠㅠ)

  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_CODE);

 
기본적으로 안드로이드에 있는 음성인식을 사용하는것 startActivityForResult 를 활용하게 된다.

startActivityForResult 이 뭐냐... 자세한건 다음을 참고 하시면됩니다.




그냥 간단히 말해서 인텐트에 정보를 실어 다른 액티비티로 보내주고 되돌아오는 것을
onActivityResult 메소드로 받아서
처리를 해주는것입니다. 이런식으로 많은곳에서 정보를 주고 받고 하는 일을 많이 하게 됩니다.
 
결과만 받아오는것을 체크해주는것은 requestCode == VOICE_CODE 이부분이지만 뒤에 resultCode == RESULT_OK가

없게 된다면 중간에 취소되거나 제대로된 결과가 안나올 경우 널포인트 에러를 반환해버립니다. 결과적으로 넣어줍시다.

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_CODE && resultCode == RESULT_OK) { ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
}

ArrayList로 결과를 받아오게 된다면 음성 인식후 가장 비슷한 그럴것 같은 단어부터 한 몇 단어들이 인식되어 추려서
날라오게 됩니다. 

이제 인식된 단어로 하고싶은 걸 북치고 장구치고 하시면 될듯 싶습니다. 이 포스트는 이만 줄이겠습니다~.

관련글 더보기

댓글 영역