diff --git a/apps/stage-web/src/pages/settings/providers/player2-speech.vue b/apps/stage-web/src/pages/settings/providers/player2-speech.vue index 6b685b50b..727294b73 100644 --- a/apps/stage-web/src/pages/settings/providers/player2-speech.vue +++ b/apps/stage-web/src/pages/settings/providers/player2-speech.vue @@ -3,6 +3,7 @@ import type { SpeechProviderWithExtraOptions } from '@xsai-ext/shared-providers' import type { UnElevenLabsOptions } from 'unspeech' import { + Callout, SpeechPlayground, SpeechProviderSettings, } from '@proj-airi/stage-ui/components' @@ -16,11 +17,13 @@ const defaultModel = 'v1' const speedRatio = ref(1.0) const speechStore = useSpeechStore() const providersStore = useProvidersStore() + const { t } = useI18n() // Get available voices for Player2 const availableVoices = computed(() => { return speechStore.availableVoices[providerId] || [] }) + // Generate speech with Player2-specific parameters async function handleGenerateSpeech(input: string, voiceId: string, _useSSML: boolean) { const provider = providersStore.getProviderInstance(providerId) as SpeechProviderWithExtraOptions @@ -52,13 +55,15 @@ onMounted(async () => { else { console.error('Failed to validate provider config', providerConfig) } + try { - const res = await fetch(`http://localhost:4315/v1/health`, { + const res = await fetch(`${providerConfig.baseUrl}/v1/health`, { method: 'GET', headers: { 'player2-game-key': 'airi', }, }) + hasPlayer2.value = res.status === 200 } catch (e) { @@ -66,6 +71,7 @@ onMounted(async () => { hasPlayer2.value = false } }) + watch(speedRatio, async () => { const providerConfig = providersStore.getProviderConfig(providerId) providerConfig.speed = speedRatio.value @@ -74,19 +80,24 @@ watch(speedRatio, async () => {