| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -5,16 +5,14 @@ import android.media.MediaPlayer | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.constant.EventBus | 
					 | 
					 | 
					 | 
					import io.legado.app.constant.EventBus | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.help.AppConfig | 
					 | 
					 | 
					 | 
					import io.legado.app.help.AppConfig | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.help.IntentHelp | 
					 | 
					 | 
					 | 
					import io.legado.app.help.IntentHelp | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import io.legado.app.help.coroutine.Coroutine | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.help.http.HttpHelper | 
					 | 
					 | 
					 | 
					import io.legado.app.help.http.HttpHelper | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.help.http.api.HttpPostApi | 
					 | 
					 | 
					 | 
					import io.legado.app.help.http.api.HttpPostApi | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.service.help.ReadBook | 
					 | 
					 | 
					 | 
					import io.legado.app.service.help.ReadBook | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.utils.FileUtils | 
					 | 
					 | 
					 | 
					import io.legado.app.utils.FileUtils | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.utils.LogUtils | 
					 | 
					 | 
					 | 
					import io.legado.app.utils.LogUtils | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.utils.postEvent | 
					 | 
					 | 
					 | 
					import io.legado.app.utils.postEvent | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import kotlinx.coroutines.Dispatchers.IO | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import kotlinx.coroutines.Job | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import kotlinx.coroutines.isActive | 
					 | 
					 | 
					 | 
					import kotlinx.coroutines.isActive | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import kotlinx.coroutines.launch | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.io.File | 
					 | 
					 | 
					 | 
					import java.io.File | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.io.FileDescriptor | 
					 | 
					 | 
					 | 
					import java.io.FileDescriptor | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.io.FileInputStream | 
					 | 
					 | 
					 | 
					import java.io.FileInputStream | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -27,7 +25,7 @@ class HttpReadAloudService : BaseReadAloudService(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private val mediaPlayer = MediaPlayer() | 
					 | 
					 | 
					 | 
					    private val mediaPlayer = MediaPlayer() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private lateinit var ttsFolder: String | 
					 | 
					 | 
					 | 
					    private lateinit var ttsFolder: String | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private var job: Job? = null | 
					 | 
					 | 
					 | 
					    private var task: Coroutine<*>? = null | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private var playingIndex = -1 | 
					 | 
					 | 
					 | 
					    private var playingIndex = -1 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    override fun onCreate() { | 
					 | 
					 | 
					 | 
					    override fun onCreate() { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -40,13 +38,13 @@ class HttpReadAloudService : BaseReadAloudService(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    override fun onDestroy() { | 
					 | 
					 | 
					 | 
					    override fun onDestroy() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onDestroy() | 
					 | 
					 | 
					 | 
					        super.onDestroy() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        job?.cancel() | 
					 | 
					 | 
					 | 
					        task?.cancel() | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mediaPlayer.release() | 
					 | 
					 | 
					 | 
					        mediaPlayer.release() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    override fun newReadAloud(dataKey: String?, play: Boolean) { | 
					 | 
					 | 
					 | 
					    override fun newReadAloud(dataKey: String?, play: Boolean) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mediaPlayer.reset() | 
					 | 
					 | 
					 | 
					        mediaPlayer.reset() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        job?.cancel() | 
					 | 
					 | 
					 | 
					        task?.cancel() | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        playingIndex = -1 | 
					 | 
					 | 
					 | 
					        playingIndex = -1 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.newReadAloud(dataKey, play) | 
					 | 
					 | 
					 | 
					        super.newReadAloud(dataKey, play) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -64,7 +62,7 @@ class HttpReadAloudService : BaseReadAloudService(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private fun downloadAudio() { | 
					 | 
					 | 
					 | 
					    private fun downloadAudio() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        job = launch(IO) { | 
					 | 
					 | 
					 | 
					        task = execute { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            FileUtils.deleteFile(ttsFolder) | 
					 | 
					 | 
					 | 
					            FileUtils.deleteFile(ttsFolder) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            for (index in 0 until contentList.size) { | 
					 | 
					 | 
					 | 
					            for (index in 0 until contentList.size) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                if (isActive) { | 
					 | 
					 | 
					 | 
					                if (isActive) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -150,7 +148,7 @@ class HttpReadAloudService : BaseReadAloudService(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * 更新朗读速度 | 
					 | 
					 | 
					 | 
					     * 更新朗读速度 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */ | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    override fun upSpeechRate(reset: Boolean) { | 
					 | 
					 | 
					 | 
					    override fun upSpeechRate(reset: Boolean) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        job?.cancel() | 
					 | 
					 | 
					 | 
					        task?.cancel() | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mediaPlayer.stop() | 
					 | 
					 | 
					 | 
					        mediaPlayer.stop() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        playingIndex = -1 | 
					 | 
					 | 
					 | 
					        playingIndex = -1 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        downloadAudio() | 
					 | 
					 | 
					 | 
					        downloadAudio() | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |