朗读用exoPlayer
This commit is contained in:
@@ -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,18 +261,11 @@ 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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user