tts朗读跳过全标点段落

This commit is contained in:
kunfei
2022-12-08 19:31:10 +08:00
parent 3acd75f2b5
commit bcddffe9cf
@@ -86,12 +86,14 @@ class TTSReadAloudService : BaseReadAloudService(), TextToSpeech.OnInitListener
return return
} }
for (i in nowSpeak until contentList.size) { for (i in nowSpeak until contentList.size) {
val text = contentList[i].replace(AppPattern.notReadAloudRegex, "") val text = contentList[i]
if (!text.matches(AppPattern.notReadAloudRegex)) {
result = tts.speak(text, TextToSpeech.QUEUE_ADD, null, AppConst.APP_TAG + i) result = tts.speak(text, TextToSpeech.QUEUE_ADD, null, AppConst.APP_TAG + i)
if (result == TextToSpeech.ERROR) { if (result == TextToSpeech.ERROR) {
AppLog.put("tts朗读出错:$text") AppLog.put("tts朗读出错:$text")
} }
} }
}
}.onFailure { }.onFailure {
AppLog.put("tts朗读出错", it) AppLog.put("tts朗读出错", it)
toastOnUi(it.localizedMessage) toastOnUi(it.localizedMessage)
@@ -150,11 +152,15 @@ class TTSReadAloudService : BaseReadAloudService(), TextToSpeech.OnInitListener
} }
override fun onDone(s: String) { override fun onDone(s: String) {
//跳过全标点段落
do {
readAloudNumber += contentList[nowSpeak].length + 1 readAloudNumber += contentList[nowSpeak].length + 1
nowSpeak++ nowSpeak++
if (nowSpeak >= contentList.size) { if (nowSpeak >= contentList.size) {
nextChapter() nextChapter()
return
} }
} while (contentList[nowSpeak].matches(AppPattern.notReadAloudRegex))
} }
override fun onRangeStart(utteranceId: String?, start: Int, end: Int, frame: Int) { override fun onRangeStart(utteranceId: String?, start: Int, end: Int, frame: Int) {