tts朗读跳过全标点段落
This commit is contained in:
@@ -86,10 +86,12 @@ 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]
|
||||||
result = tts.speak(text, TextToSpeech.QUEUE_ADD, null, AppConst.APP_TAG + i)
|
if (!text.matches(AppPattern.notReadAloudRegex)) {
|
||||||
if (result == TextToSpeech.ERROR) {
|
result = tts.speak(text, TextToSpeech.QUEUE_ADD, null, AppConst.APP_TAG + i)
|
||||||
AppLog.put("tts朗读出错:$text")
|
if (result == TextToSpeech.ERROR) {
|
||||||
|
AppLog.put("tts朗读出错:$text")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.onFailure {
|
}.onFailure {
|
||||||
@@ -150,11 +152,15 @@ class TTSReadAloudService : BaseReadAloudService(), TextToSpeech.OnInitListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onDone(s: String) {
|
override fun onDone(s: String) {
|
||||||
readAloudNumber += contentList[nowSpeak].length + 1
|
//跳过全标点段落
|
||||||
nowSpeak++
|
do {
|
||||||
if (nowSpeak >= contentList.size) {
|
readAloudNumber += contentList[nowSpeak].length + 1
|
||||||
nextChapter()
|
nowSpeak++
|
||||||
}
|
if (nowSpeak >= contentList.size) {
|
||||||
|
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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user