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