feat(engine): 重构字幕引擎并实现 WebSocket 通信

- 重构了 Gummy 和 Vosk 字幕引擎的代码,提高了可扩展性和可读性
- 合并 Gummy 和 Vosk 引擎为单个可执行文件
- 实现了字幕引擎和主程序之间的 WebSocket 通信,避免了孤儿进程问题
This commit is contained in:
himeditator
2025-07-28 15:49:52 +08:00
parent b658ef5440
commit cd9f3a847d
19 changed files with 242 additions and 293 deletions

View File

@@ -4,7 +4,7 @@
<a-col :span="6">
<a-statistic
:title="$t('status.engine')"
:value="(customized && customizedApp)?$t('status.customized'):engine"
:value="customized?$t('status.customized'):engine"
/>
</a-col>
<a-popover :title="$t('status.engineStatus')">
@@ -130,7 +130,7 @@ const showAbout = ref(false)
const captionLog = useCaptionLogStore()
const { captionData } = storeToRefs(captionLog)
const engineControl = useEngineControlStore()
const { engineEnabled, engine, customized, customizedApp } = storeToRefs(engineControl)
const { engineEnabled, engine, customized } = storeToRefs(engineControl)
const pid = ref(0)
const ppid = ref(0)

View File

@@ -82,7 +82,7 @@ export const useEngineControlStore = defineStore('engineControl', () => {
notification.open({
message: t('noti.started'),
description:
((customized.value && customizedApp.value) ? str1 : str0) +
(customized.value ? str1 : str0) +
`${t('noti.pidInfo')}${args}`
});
})