From 5eba29880dc0d730a1f246b418a8e0aaca2b8fe0 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Sun, 6 Jul 2025 15:00:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/service/BaseReadAloudService.kt | 4 +++- .../java/io/legado/app/service/HttpReadAloudService.kt | 10 +++++----- .../java/io/legado/app/service/TTSReadAloudService.kt | 8 ++++++-- app/src/main/res/values-es-rES/strings.xml | 2 +- 4 files changed, 15 insertions(+), 9 deletions(-) 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 a7fe30d0f..1565b6570 100644 --- a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt @@ -358,7 +358,9 @@ abstract class BaseReadAloudService : BaseService(), val paragraphs = it.getParagraphs(true) if (!paragraphs[nowSpeak].isParagraphEnd) readAloudNumber-- } - if (readAloudNumber >= it.getReadLength(pageIndex + 1)) { + if (pageIndex + 1 < it.pageSize + && readAloudNumber >= it.getReadLength(pageIndex + 1) + ) { pageIndex++ ReadBook.moveToNextPage() } diff --git a/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt b/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt index c7ceaae08..e7ea22992 100644 --- a/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt @@ -477,12 +477,12 @@ class HttpReadAloudService : BaseReadAloudService(), val sleep = exoPlayer.duration / speakTextLength val start = speakTextLength * exoPlayer.currentPosition / exoPlayer.duration for (i in start..contentList[nowSpeak].length) { - if (readAloudNumber + i > textChapter.getReadLength(pageIndex + 1)) { + if (pageIndex + 1 < textChapter.pageSize + && readAloudNumber + i > textChapter.getReadLength(pageIndex + 1) + ) { pageIndex++ - if (pageIndex < textChapter.pageSize) { - ReadBook.moveToNextPage() - upTtsProgress(readAloudNumber + i.toInt()) - } + ReadBook.moveToNextPage() + upTtsProgress(readAloudNumber + i.toInt()) } delay(sleep) } diff --git a/app/src/main/java/io/legado/app/service/TTSReadAloudService.kt b/app/src/main/java/io/legado/app/service/TTSReadAloudService.kt index 7db548e4a..530df2529 100644 --- a/app/src/main/java/io/legado/app/service/TTSReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/TTSReadAloudService.kt @@ -195,7 +195,9 @@ class TTSReadAloudService : BaseReadAloudService(), TextToSpeech.OnInitListener if (contentList[nowSpeak].matches(AppPattern.notReadAloudRegex)) { nextParagraph() } - if (readAloudNumber + 1 > it.getReadLength(pageIndex + 1)) { + if (pageIndex + 1 < it.pageSize + && readAloudNumber + 1 > it.getReadLength(pageIndex + 1) + ) { pageIndex++ ReadBook.moveToNextPage() } @@ -214,7 +216,9 @@ class TTSReadAloudService : BaseReadAloudService(), TextToSpeech.OnInitListener "onRangeStart nowSpeak:$nowSpeak pageIndex:$pageIndex utteranceId:$utteranceId start:$start end:$end frame:$frame" LogUtils.d(TAG, msg) textChapter?.let { - if (readAloudNumber + start > it.getReadLength(pageIndex + 1)) { + if (pageIndex + 1 < it.pageSize + && readAloudNumber + start > it.getReadLength(pageIndex + 1) + ) { pageIndex++ ReadBook.moveToNextPage() upTtsProgress(readAloudNumber + start) diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index fc93d7861..515bb82a8 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1220,5 +1220,5 @@ 墨水屏设置 阈值 禁用水平滚动动画 - 开启图片灰色灰色 + 开启图片灰色