mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
@@ -77,6 +77,7 @@ class HttpReadAloudService : BaseReadAloudService(),
|
||||
}
|
||||
}.onFailure {
|
||||
toastOnUi("朗读出错:${it.localizedMessage}")
|
||||
AppLog.put("朗读出错:${it.localizedMessage}", it)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -115,7 +116,12 @@ class HttpReadAloudService : BaseReadAloudService(),
|
||||
playAudio(file)
|
||||
}
|
||||
} else if (speakText.isEmpty()) {
|
||||
AppLog.put("阅读段落内容为空,使用无声音频代替。")
|
||||
createSilentSound(fileName)
|
||||
if (index == nowSpeak) {
|
||||
val file = getSpeakFileAsMd5(fileName)
|
||||
playAudio(file)
|
||||
}
|
||||
return@forEachIndexed
|
||||
} else {
|
||||
runCatching {
|
||||
@@ -138,7 +144,7 @@ class HttpReadAloudService : BaseReadAloudService(),
|
||||
}?.let { ct ->
|
||||
response.headers["Content-Type"]?.let { contentType ->
|
||||
if (!contentType.matches(ct.toRegex())) {
|
||||
throw NoStackTraceException(response.body!!.string())
|
||||
throw NoStackTraceException("TTS服务器返回错误:" + response.body!!.string())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -182,9 +188,16 @@ class HttpReadAloudService : BaseReadAloudService(),
|
||||
AppLog.put(msg, it)
|
||||
it.printOnDebug()
|
||||
if (downloadErrorNo > 5) {
|
||||
AppLog.put("TTS服务器连续5次错误,已暂停阅读。")
|
||||
toastOnUi("TTS服务器连续5次错误,已暂停阅读。")
|
||||
pauseReadAloud(true)
|
||||
} else {
|
||||
AppLog.put("TTS下载音频出错,使用无声音频代替。")
|
||||
createSilentSound(fileName)
|
||||
if (index == nowSpeak) {
|
||||
val file = getSpeakFileAsMd5(fileName)
|
||||
playAudio(file)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -194,7 +207,7 @@ class HttpReadAloudService : BaseReadAloudService(),
|
||||
}.onStart {
|
||||
downloadTaskIsActive = true
|
||||
}.onError {
|
||||
AppLog.put("朗读下载出错\n${it.localizedMessage}")
|
||||
AppLog.put("朗读下载出错\n${it.localizedMessage}", it)
|
||||
}.onFinally {
|
||||
downloadTaskIsActive = false
|
||||
}
|
||||
@@ -245,8 +258,10 @@ class HttpReadAloudService : BaseReadAloudService(),
|
||||
private fun removeCacheFile() {
|
||||
val titleMd5 = MD5Utils.md5Encode16(textChapter?.title ?: "")
|
||||
FileUtils.listDirsAndFiles(ttsFolderPath)?.forEach {
|
||||
if (!it.name.startsWith(titleMd5)
|
||||
&& System.currentTimeMillis() - it.lastModified() > 600000
|
||||
val isSilentSound = it.length() == 2160L
|
||||
if ((!it.name.startsWith(titleMd5)
|
||||
&& System.currentTimeMillis() - it.lastModified() > 600000)
|
||||
|| isSilentSound
|
||||
) {
|
||||
FileUtils.delete(it.absolutePath)
|
||||
}
|
||||
@@ -334,6 +349,7 @@ class HttpReadAloudService : BaseReadAloudService(),
|
||||
playErrorNo++
|
||||
if (playErrorNo >= 5) {
|
||||
toastOnUi("朗读连续5次错误, 最后一次错误代码(${error.localizedMessage})")
|
||||
AppLog.put("朗读连续5次错误, 最后一次错误代码(${error.localizedMessage})", error)
|
||||
ReadAloud.pause(this)
|
||||
} else {
|
||||
playNext()
|
||||
|
||||
Reference in New Issue
Block a user