Android Use the Text To Speech(TTS)

사용 언어: Kotlin 1.6.20
사용 버전: Android Studio 2021.1.1 Patch 2

안드로이드 Use the Text To Speech(TTS)를 알아보겠습니다.


안드로이드에는 내장되어 있는 TTS 기능이 있습니다. Text To Speech(TTS)는 글자를 소리 내어 읽어주는 기능을 말합니다.
이것을 어떻게 사용할 수 있게 하는지 알아봅시다.


우선, 안드로이드 휴대폰에 내장된 TTS를 사용하기 위해서는 manifest에 설정이 필요합니다.
android 11 이상부터 아래 설정이 필요한 것 같네요.
<action android:name="android.intent.action.TTS_SERVICE"/>

AndroidMenifest.xml에 적어줍니다.







TTS 사용할 코드 파일로 갑니다. 여기서는 MainActivity에서 사용해 보겠습니다.

onCreate에 TextToSpeech()를 적습니다.







괄호 안 context에는 MainActivity인 this를 적고, listener는 {}로 람다식으로 표현했습니다. 람다 안에 status는 TTS가 잘 실행되었는지 상태가 나타납니다.



textToSpeech를 lateinit으로 만들고 그것을 TextToSpeech를 받습니다.






상태가 TextToSpeech.SUCCESS 이면 초기화 성공입니다.

이제, 말하기에 사용할 언어를 설정합니다.

setLanguage를 이용하고, 지역은 Locale.getDefault()로 휴대폰 언어 지역을 사용합니다.





이제, 언어 설정까지 완료되었으니 들어볼까요?

speak()를 사용하여 듣습니다. text는 들을 글자를 넣어주고, QUEUE_FLUSH로 모든 내용을 다 뿌립니다.

params에는 소리의 속성, 음량, 소리 들리는 위치 등을 정할 수 있는데 기본을 사용하려면 null을 넣습니다.

마지막은 이 speak의 고유한 ID를 글자로 적어줍니다. 여기서는 Hello Speech가 ID가 됩니다.






실행하면, 말소리가 들립니다.

"안녕하세요. 대한민국!"




여기서 중요한 건, 다 사용한 뒤에는 shutdown으로 리소스를 해제해 줘야 합니다.

stop()과 shutdown()을 해줍니다.






끝.


카테고리: Android

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)