kunfei před 4 roky
rodič
revize
dea5a47c3d

+ 2 - 6
app/src/main/java/io/legado/app/service/BaseReadAloudService.kt

@@ -156,12 +156,8 @@ abstract class BaseReadAloudService : BaseService(),
     @CallSuper
     @CallSuper
     open fun resumeReadAloud() {
     open fun resumeReadAloud() {
         pause = false
         pause = false
-        if (contentList.isEmpty()) {
-            ReadBook.readAloud()
-        } else {
-            upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING)
-            postEvent(EventBus.ALOUD_STATE, Status.PLAY)
-        }
+        upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING)
+        postEvent(EventBus.ALOUD_STATE, Status.PLAY)
     }
     }
 
 
     abstract fun upSpeechRate(reset: Boolean = false)
     abstract fun upSpeechRate(reset: Boolean = false)

+ 14 - 11
app/src/main/java/io/legado/app/service/HttpReadAloudService.kt

@@ -63,18 +63,21 @@ class HttpReadAloudService : BaseReadAloudService(),
     }
     }
 
 
     override fun play() {
     override fun play() {
-        if (contentList.isEmpty()) return
-        ReadAloud.httpTTS?.let {
-            val fileName =
-                md5SpeakFileName(it.url, AppConfig.ttsSpeechRate.toString(), contentList[nowSpeak])
-            if (nowSpeak == 0) {
-                downloadAudio()
-            } else {
-                val file = getSpeakFileAsMd5(fileName)
-                if (file.exists()) {
-                    playAudio(FileInputStream(file).fd)
-                } else {
+        if (contentList.isEmpty()) {
+            ReadBook.readAloud()
+        } else {
+            ReadAloud.httpTTS?.let {
+                val fileName =
+                    md5SpeakFileName(it.url, AppConfig.ttsSpeechRate.toString(), contentList[nowSpeak])
+                if (nowSpeak == 0) {
                     downloadAudio()
                     downloadAudio()
+                } else {
+                    val file = getSpeakFileAsMd5(fileName)
+                    if (file.exists()) {
+                        playAudio(FileInputStream(file).fd)
+                    } else {
+                        downloadAudio()
+                    }
                 }
                 }
             }
             }
         }
         }

+ 5 - 1
app/src/main/java/io/legado/app/service/TTSReadAloudService.kt

@@ -65,7 +65,11 @@ class TTSReadAloudService : BaseReadAloudService(), TextToSpeech.OnInitListener
 
 
     @Synchronized
     @Synchronized
     override fun play() {
     override fun play() {
-        if (contentList.isNotEmpty() && ttsInitFinish && requestFocus()) {
+        if (!ttsInitFinish) return
+        if (!requestFocus()) return
+        if (contentList.isEmpty()) {
+            ReadBook.readAloud()
+        } else {
             super.play()
             super.play()
             execute {
             execute {
                 MediaHelp.playSilentSound(this@TTSReadAloudService)
                 MediaHelp.playSilentSound(this@TTSReadAloudService)