package standby

import (
	"context"
	"fmt"
	"game-driver/internal/schema"
	"game-driver/pkg/audio"
	"game-driver/pkg/tts"
	"go.uber.org/zap"
)

func TTS(item schema.WaitItemModel) func(c context.Context) error {
	return func(c context.Context) error {
		reader, err := tts.DefaultTTS.Get(item.Data)
		if err != nil {
			return fmt.Errorf("语音合成异常: %w", err)
		}

		zap.S().Infoln("播放待机 TTS 语音")
		defer zap.S().Infoln("结束待机 TTS 语音")

		audio.PlayWav(c, reader)

		return nil
	}
}
