Error code
TextToSpeech SDK는 초기화, 앱 등록 및 음성 합성 중 발생한 오류를 ErrorType으로 전달합니다. 오류는 OnInitializeListener, OnServerConnectionListener 또는 EventListener에서 처리할 수 있습니다.
ErrorType
| ErrorType | Description | Recommended action |
|---|---|---|
AUDIO_ERROR | 오디오 출력 또는 재생 처리에 실패했습니다. | 오디오 설정과 출력 장치 상태를 확인한 후 다시 요청합니다. |
INVALID_REQUEST_ERROR | 요청 값이나 요청 상태가 올바르지 않습니다. | 텍스트와 호출 순서 등 요청 조건을 확인합니다. |
MIC_ERROR | 오디오 입력 장치 처리 중 오류가 발생했습니다. | 실행 환경의 오디오 장치 상태를 확인합니다. |
NETWORK_ERROR | 네트워크 통신에 실패했습니다. | 네트워크 연결을 확인하고 다시 요청합니다. |
NOT_SUPPORTED_API | 현재 모드 또는 실행 환경에서 지원하지 않는 API입니다. | 선택한 Mode와 플랫폼 지원 범위를 확인합니다. |
ON_DEVICE_ENGINE_ERROR | On-device 음성 합성 엔진에서 오류가 발생했습니다. | 엔진 상태를 확인하거나 HYBRID 또는 SERVER 모드를 검토합니다. |
PERMISSION_DENIED | TextToSpeech 서비스 접근 권한이 없습니다. | manifest의 TTS_SERVICE 권한과 실행 환경의 권한 상태를 확인합니다. |
SERVER_INTERNAL_ERROR | Speech Service 내부 오류가 발생했습니다. | 잠시 후 다시 요청하고, 반복되면 서비스 관리자에게 문의합니다. |
TIMEOUT | 제한 시간 안에 요청을 완료하지 못했습니다. | 네트워크와 서버 상태를 확인한 후 다시 요청합니다. |
UNAUTHENTICATED | 앱 인증에 실패했습니다. | Pleos Playground의 My Project 자격 증명 또는 UA 앱 정보와 접속 환경을 확인합니다. |
UNAVAILABLE_LANGUAGE | 요청한 언어를 사용할 수 없습니다. | 지원되는 Locale로 변경합니다. |
UNKNOWN | 분류되지 않은 오류가 발생했습니다. | 호출 시점과 환경 정보를 수집하여 서비스 관리자에게 문의합니다. |
UNCLASSIFIED(message) | SDK가 정의하지 않은 오류이며 원본 메시지를 포함합니다. | message를 기록하고 해당 메시지에 따라 원인을 확인합니다. |
Handle errors
ErrorType은 새로운 오류 타입이 추가될 수 있으므로 when 또는 switch 문에 기본 분기를 두는 것을 권장합니다.
override fun onError(errorType: ErrorType) {
when (errorType) {
ErrorType.PERMISSION_DENIED -> checkTtsPermission()
ErrorType.UNAUTHENTICATED -> checkCredentials()
ErrorType.NETWORK_ERROR,
ErrorType.TIMEOUT -> retryWhenNetworkIsAvailable()
is ErrorType.UNCLASSIFIED -> logError(errorType.message)
else -> logError(errorType.name)
}
}
각 오류 타입의 정확한 선언은 TextToSpeech API Reference에서 확인할 수 있습니다.