본문으로 건너뛰기

Make the first API call

TextToSpeech API 호출 순서와 API로 구현할 수 있는 시나리오 예제를 설명합니다.

API 호출 순서

Initialize SDK

TextToSpeech SDK를 시작할 때 initialize API를 호출하여 TextToSpeech SDK를 초기화합니다.


enum class Mode {
HYBRID, // 네트워크가 연결되지 않을 경우 SDK 에서 상황에 맞게 OnDevice TextToSpeech를 사용합니다.
SERVER, // 네트워크가 연결되어 있을 경우에만 TextToSpeech를 사용합니다.
ON_DEVICE // OnDevice TextToSpeech를 사용합니다.
}

val textToSpeech = TextToSpeech(context, Mode.HYBRID) // Mode 설정

textToSpeech.initialize();

Add eventListener

TextToSpeech 앱을 등록하기 전에 addEventListener API를 호출하여 TextToSpeech 이벤트 콜백을 등록합니다.

textToSpeech.addEventListener(listener: ai.pleos.playground.tts.listener.EventListener)

Register App

registerApp API를 호출하여 앱을 Speech 서버에 등록합니다. MODE 가 ON_DEVICE 일 경우에는 이 API를 사용할 필요는 없습니다.

val clientID = "your_client_id"
val clientSecret = "your_client_secret"
textToSpeech.registerApp(clientID, clientSecret, object : OnServerConnectionListener {
override fun onConnected() {
// Speech 서버에 등록이 완료되면 앱은 이벤트를 받을 수 있습니다.
}

override fun onFailed(msg: String) {
// Speech 서버 등록 실패가 일어나면 에러 메시지와 함께 이벤트를 앱으로 전달 합니다.
}
})

Remove eventListener

TextToSpeech 앱을 종료하기에 앞서 등록했던 이벤트 콜백을 해제합니다. 이벤트 콜백을 해제하려면 removeEventListener API를 호출합니다.

textToSpeech.removeEventListener(listener: ai.pleos.playground.tts.listener.EventListener)

Release SDK

release API를 호출하여 TextToSpeech SDK 리소스를 해제합니다.

textToSpeech.release()

API 사용 시나리오 예시

1. AudioAttribute 설정

AudioAttribute를 정의한 후, setAudioAttributes API를 호출하여 속성을 설정합니다. 앱에서 설정하지 않으면 AudioAttributes.CONTENT_TYPE_MEDIA 로 자동 설정됩니다.

val attribute = AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
.setUsage(AudioAttributes.USAGE_ASSISTANT)
.build()

textToSpeech.setAudioAttributes(attribute)
정보

AudioAttribute 클래스에 대한 자세한 설명은 안드로이드 공식 문서를 참조합니다.

2. TextToSpeech 변환 시작/중지

다음은 TextToSpeech 변환을 시작하고 중지하는 예제 코드입니다.

textToSpeech.speak(“안녕하세요”)
textToSpeech.stop()