朗读用exoPlayer

pull/1660/head
kunfei 3 years ago
parent eee9d50943
commit 16246b41c3
  1. 22
      app/src/main/java/io/legado/app/service/HttpReadAloudService.kt

@ -67,7 +67,11 @@ class HttpReadAloudService : BaseReadAloudService(),
kotlin.runCatching { kotlin.runCatching {
val tts = ReadAloud.httpTTS ?: throw NoStackTraceException("httpTts is null") val tts = ReadAloud.httpTTS ?: throw NoStackTraceException("httpTts is null")
val fileName = val fileName =
md5SpeakFileName(tts.url, AppConfig.ttsSpeechRate.toString(), contentList[nowSpeak]) md5SpeakFileName(
tts.url,
AppConfig.ttsSpeechRate.toString(),
contentList[nowSpeak]
)
if (nowSpeak == 0) { if (nowSpeak == 0) {
downloadAudio() downloadAudio()
} else { } else {
@ -223,7 +227,8 @@ class HttpReadAloudService : BaseReadAloudService(),
} }
private fun md5SpeakFileName(url: String, ttsConfig: String, content: String): String { private fun md5SpeakFileName(url: String, ttsConfig: String, content: String): String {
return MD5Utils.md5Encode("$url-|-$ttsConfig-|-$content") return MD5Utils.md5Encode16(textChapter?.title ?: "") + "_" +
MD5Utils.md5Encode16("$url-|-$ttsConfig-|-$content")
} }
private fun createSilentSound(fileName: String) { private fun createSilentSound(fileName: String) {
@ -256,17 +261,10 @@ class HttpReadAloudService : BaseReadAloudService(),
* 移除缓存文件 * 移除缓存文件
*/ */
private fun removeCacheFile() { private fun removeCacheFile() {
val cacheRegex = Regex(""".+\.mp3$""") val titleMd5 = MD5Utils.md5Encode16(textChapter?.title ?: "")
val reg = """^${MD5Utils.md5Encode16(textChapter!!.title)}_[a-z0-9]{16}\.mp3$""".toRegex()
FileUtils.listDirsAndFiles(ttsFolderPath)?.forEach { FileUtils.listDirsAndFiles(ttsFolderPath)?.forEach {
if (cacheRegex.matches(it.name)) { //mp3缓存文件 if (!it.name.startsWith(titleMd5) && Date().time - it.lastModified() > 600000) {
if (!reg.matches(it.name)) { FileUtils.deleteFile(it.absolutePath)
FileUtils.deleteFile(it.absolutePath)
}
} else {
if (Date().time - it.lastModified() > 600000) {
FileUtils.deleteFile(it.absolutePath)
}
} }
} }
} }

Loading…
Cancel
Save