From f128df2d96d13fad61ba60ff8bf0cf3f706087e0 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Sun, 10 Mar 2024 11:30:00 +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 --- .../main/java/io/legado/app/model/ReadBook.kt | 1 + .../legado/app/service/BaseReadAloudService.kt | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/ReadBook.kt b/app/src/main/java/io/legado/app/model/ReadBook.kt index d69abfe2d..261e92538 100644 --- a/app/src/main/java/io/legado/app/model/ReadBook.kt +++ b/app/src/main/java/io/legado/app/model/ReadBook.kt @@ -201,6 +201,7 @@ object ReadBook : CoroutineScope by MainScope() { val nextPagePos = it.getNextPageLength(durChapterPos) if (nextPagePos >= 0) { hasNextPage = true + curTextChapter?.getPage(durPageIndex)?.removePageAloudSpan() durChapterPos = nextPagePos callBack?.upContent() saveRead(true) 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 85e1b0983..50cd3da3c 100644 --- a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt @@ -36,6 +36,7 @@ import io.legado.app.model.ReadBook import io.legado.app.receiver.MediaButtonReceiver import io.legado.app.ui.book.read.ReadBookActivity import io.legado.app.ui.book.read.page.entities.TextChapter +import io.legado.app.utils.LogUtils import io.legado.app.utils.activityPendingIntent import io.legado.app.utils.broadcastPendingIntent import io.legado.app.utils.getPrefBoolean @@ -77,6 +78,8 @@ abstract class BaseReadAloudService : BaseService(), return isRun && !pause } + private const val TAG = "BaseReadAloudService" + } private val useWakeLock = appCtx.getPrefBoolean(PreferKey.readAloudWakeLock, false) @@ -88,9 +91,10 @@ abstract class BaseReadAloudService : BaseService(), } private val wifiLock by lazy { @Suppress("DEPRECATION") - wifiManager?.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF, "legado:AudioPlayService")?.apply { - setReferenceCounted(false) - } + wifiManager?.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF, "legado:AudioPlayService") + ?.apply { + setReferenceCounted(false) + } } private val mFocusRequest: AudioFocusRequestCompat by lazy { MediaHelp.buildAudioFocusRequestCompat(this) @@ -212,6 +216,13 @@ abstract class BaseReadAloudService : BaseService(), } } nowSpeak = textChapter.getParagraphNum(readAloudNumber + 1, readAloudByPage) - 1 + if (nowSpeak < 0) { + LogUtils.d(TAG) { + "nowSpeak:$nowSpeak readAloudNumber:$readAloudNumber isCompleted:${textChapter.isCompleted} " + + "pageSize:${textChapter.pageSize} \np1:${textChapter.paragraphsInternal}\n" + + "p2:${textChapter.pageParagraphsInternal}" + } + } if (!readAloudByPage && startPos == 0 && !toLast) { pos = page.lines.first().chapterPosition - textChapter.paragraphs[nowSpeak].chapterPosition