Getting Started with the SDK
TextToSpeech API 호출 순서와 API로 구현할 수 있는 시나리오 예제를 설명합니다.
API 호출 순서
Initialize SDK
TextToSpeech SDK를 시작할 때 initialize API를 호출하여 TextToSpeech SDK를 초기화합니다.
- Kotlin
- Java
enum class Mode {
HYBRID, // 네트워크가 연결되지 않을 경우 SDK 에서 상황에 맞게 OnDevice TextToSpeech를 사용합니다.
SERVER, // 네트워크가 연결되어 있을 경우에만 TextToSpeech를 사용합니다.
ON_DEVICE // OnDevice TextToSpeech를 사용합니다.
}
val textToSpeech = TextToSpeech(context, Mode.HYBRID) // Mode 설정
textToSpeech.initialize();
public enum Mode {
HYBRID, // 네트워크가 연결되지 않을 경우 SDK 에서 상황에 맞게 OnDevice TextToSpeech를 사용합니다.
SERVER, // 네트워크가 연결되어 있을 경우에만 TextToSpeech를 사용합니다.
ON_DEVICE // OnDevice TextToSpeech를 사용합니다.
}
TextToSpeech textToSpeech = new TextToSpeech(context, Mode.HYBRID); // Mode 설정
textToSpeech.initialize();
Add eventListener
TextToSpeech 앱을 등록하기 전에 addEventListener API를 호출하여 TextToSpeech 이벤트 콜백을 등록합니다.
- Kotlin
- Java
textToSpeech.addEventListener(listener: ai.pleos.playground.tts.listener.EventListener)
textToSpeech.addEventListener(listener: ai.pleos.playground.tts.listener.EventListener);
Register App
registerApp API를 호출하여 앱을 Speech 서버에 등록합니다. MODE 가 ON_DEVICE 일 경우에는 이 API를 사용할 필요는 없습니다.
- Kotlin
- Java
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 서버 등록 실패가 일어나면 에러 메시지와 함께 이벤트를 앱으로 전달 합니다.
}
})
String clientID = "your_client_id";
String clientSecret = "your_client_secret";
textToSpeech.registerApp(clientID, clientSecret, new OnServerConnectionListener() {
@Override
void onConnected() {
// Speech 서버에 등록이 완료되면 앱은 이벤트를 받을 수 있습니다.
}
@Override
void onFailed(String msg) {
// Speech 서버 등록 실패가 일어나면 에러 메시지와 함께 이벤트를 앱으로 전달 합니다.
}
});
Remove eventListener
TextToSpeech 앱을 종료하기에 앞서 등록했던 이벤트 콜백을 해제합니다. 이벤트 콜백을 해제하려면 removeEventListener API를 호출합니다.
- Kotlin
- Java
textToSpeech.removeEventListener(listener: ai.pleos.playground.tts.listener.EventListener)
textToSpeech.removeEventListener(listener: ai.pleos.playground.tts.listener.EventListener);
Release SDK
release API를 호출하여 TextToSpeech SDK 리소스를 해제합니다.
- Kotlin
- Java
textToSpeech.release()
textToSpeech.release();
API 사용 시나리오 예시
1. AudioAttribute 설정
AudioAttribute를 정의한 후, setAudioAttributes API를 호출하여 속성을 설정합니다. 앱에서 설정하지 않으면 AudioAttributes.CONTENT_TYPE_MEDIA 로 자동 설정됩니다.
- Kotlin
- Java
val attribute = AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
.setUsage(AudioAttributes.USAGE_ASSISTANT)
.build()
textToSpeech.setAudioAttributes(attribute)
AudioAttributes attribute = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
.setUsage(AudioAttributes.USAGE_ASSISTANT)
.build();
textToSpeech.setAudioAttributes(attribute);
정보
AudioAttribute 클래스에 대한 자세한 설명은 안드로이드 공식 문서를 참조합니다.
2. TextToSpeech 변환 시작/중지
다음은 TextToSpeech 변환을 시작하고 중지하는 예제 코드입니다.
- Kotlin
- Java
textToSpeech.speak(“안녕하세요”)
textToSpeech.stop()
textToSpeech.speak(“안녕하세요”);
textToSpeech.stop();