diff --git a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt index 1565b6570..61fafa241 100644 --- a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt @@ -27,6 +27,7 @@ import io.legado.app.R import io.legado.app.base.BaseService import io.legado.app.constant.AppConst import io.legado.app.constant.AppLog +import io.legado.app.constant.AppPattern import io.legado.app.constant.EventBus import io.legado.app.constant.IntentAction import io.legado.app.constant.NotificationId @@ -326,9 +327,11 @@ abstract class BaseReadAloudService : BaseService(), private fun prevP() { if (nowSpeak > 0) { playStop() - nowSpeak-- - readAloudNumber -= contentList[nowSpeak].length + 1 + paragraphStartPos - paragraphStartPos = 0 + do { + nowSpeak-- + readAloudNumber -= contentList[nowSpeak].length + 1 + paragraphStartPos + paragraphStartPos = 0 + } while (contentList[nowSpeak].matches(AppPattern.notReadAloudRegex)) textChapter?.let { if (readAloudByPage) { val paragraphs = it.getParagraphs(true)