kunfei 4 years ago
parent
commit
87f77df94d
1 changed files with 10 additions and 3 deletions
  1. 10 3
      app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

+ 10 - 3
app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

@@ -141,7 +141,7 @@ class ReadBookActivity : BaseReadBookActivity(),
     private var autoPageJob: Job? = null
     private var backupJob: Job? = null
     private var keepScreenJon: Job? = null
-    private val tts by lazy { TTS() }
+    private var tts: TTS? = null
     val textActionMenu: TextActionMenu by lazy {
         TextActionMenu(this, this)
     }
@@ -633,7 +633,7 @@ class ReadBookActivity : BaseReadBookActivity(),
         when (itemId) {
             R.id.menu_aloud -> when (AppConfig.contentSelectSpeakMod) {
                 1 -> binding.readView.aloudStartSelect()
-                else -> tts.speak(binding.readView.getSelectText())
+                else -> speak(binding.readView.getSelectText())
             }
             R.id.menu_bookmark -> binding.readView.curPage.let {
                 val bookmark = it.createBookmark()
@@ -683,6 +683,13 @@ class ReadBookActivity : BaseReadBookActivity(),
         readView.isTextSelected = false
     }
 
+    private fun speak(text: String) {
+        if (tts == null) {
+            tts = TTS()
+        }
+        tts?.speak(text)
+    }
+
     /**
      * 鼠标滚轮翻页
      */
@@ -1196,7 +1203,7 @@ class ReadBookActivity : BaseReadBookActivity(),
 
     override fun onDestroy() {
         super.onDestroy()
-        tts.clearTts()
+        tts?.clearTts()
         textActionMenu.dismiss()
         popupAction.dismiss()
         binding.readView.onDestroy()