集成阿里云 NUI 语音合成 SDK

This commit is contained in:
2026-07-07 16:05:39 +08:00
parent 0aa8b14e1f
commit 9378748a4d
26 changed files with 2095 additions and 16 deletions

View File

@ -103,6 +103,11 @@ final class ScenicQueueSettingsViewModel {
return "请选择打卡点"
}
/// 使线
var useOfflineTTS: Bool {
appStore.scenicQueueUseOfflineTTS
}
func openSettingChangeLog() {
onNavigateLog?()
}
@ -170,6 +175,23 @@ final class ScenicQueueSettingsViewModel {
notifyStateChange()
}
/// 线
func setUseOfflineTTS(_ enabled: Bool) {
guard enabled else {
appStore.scenicQueueUseOfflineTTS = false
notifyStateChange()
return
}
guard ttsManager.supportsOfflineTTS else {
appStore.scenicQueueUseOfflineTTS = false
onShowMessage?("离线语音资源未安装")
notifyStateChange()
return
}
appStore.scenicQueueUseOfflineTTS = true
notifyStateChange()
}
func setCustomTTSText(_ value: String) {
customTTSText = String(value.prefix(Limits.remarkMaxLen))
notifyStateChange()

View File

@ -87,7 +87,7 @@ final class ScenicQueueViewModel {
await refreshQueueStats(api: api)
await refreshCurrentQueue(api: api, reset: true)
await refreshSkippedQueue(api: api, reset: true)
await ttsManager.prepareQueueTTSEngine(api: api as? ScenicQueueAPI)
await ttsManager.prepareQueueTTSEngine(api: api)
} else {
resetQueues()
onRequireSettings?()