diff --git a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt index 59b0793681..b56aa18d54 100644 --- a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt +++ b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt @@ -38,6 +38,8 @@ class IFlyTekTts : IMogoTTS, InitListener { private var voicer: String = "x4_lingxiaoying_en" private var voicerEntries: Array? = null + @Volatile + private var isExpire = false // 等级由低到高为0、1、2、3,默认为-1表示没有正在tts的 private var curTtsLevel = -1 @@ -305,6 +307,11 @@ class IFlyTekTts : IMogoTTS, InitListener { } curTtsEntity = null curTtsContent = "" + if (error.errorCode == 11200) { + isExpire = true + voicer = "xiaoyan" + updateTtsParam() + } } private val ttsListener = object : SynthesizerListener { @@ -386,10 +393,14 @@ class IFlyTekTts : IMogoTTS, InitListener { private fun updateVoicer(language: LanguageType) { voicerEntries?.let { - voicer = when (language) { - LanguageType.ENGLISH -> it[5] - LanguageType.KOREAN -> it[6] - else -> it[0] + if (!isExpire) { + voicer = when (language) { + LanguageType.ENGLISH -> it[5] + LanguageType.KOREAN -> it[6] + else -> it[0] + } + } else { + voicer = "xiaoyan" } } }