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 @@
墨水屏设置
阈值
禁用水平滚动动画
- 开启图片灰色灰色
+ 开启图片灰色