前言
TTS方法有很多,如果想跨平台那就需要外部插件,而如果仅仅是windows那就没必要用插件来占用空间了。
具体方法:
随便找个空物体,添加以下脚本,然后在需要播报语音的位置添加这行代码即可播报:
FlexibleTTS.Speak("确认定铲");
特点1:使用windows内置的tts功能,不用外部插件,节省空间。
特点2:不直接与api通讯,而是通过powershell来转接,原因是每台电脑的tts_api地址可能不同。
特点3:异步,不堵塞主线程
这是完整脚本:
using System;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
public class FlexibleTTS : MonoBehaviour
{
private static Process _psProcess;
private static StreamWriter _inputWriter;
private static bool _isChineseSupported;
// 初始化长驻进程(建议在游戏启动时调用)
[RuntimeInitializeOnLoadMethod]
private static void Initialize()
{
StartPowerShellProcess();
}
private static void StartPowerShellProcess()
{
try {
var psi = new ProcessStartInfo
{
FileNam

最低0.47元/天 解锁文章
5045

被折叠的 条评论
为什么被折叠?



