Unity调用微软SpeechLib.Dll的C#类实现语音合成功能

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using SpeechLib;

public class Speech : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{
    if (Input.GetKeyDown(KeyCode.A)) {
        StartCoroutine(SpeackVoice());
    }
}

IEnumerator SpeackVoice() {
    yield return new WaitForSeconds(5);
    SpVoice v = new SpVoice();
    v.Voice = v.GetVoices(string.Empty, string.Empty).Item(0);
    v.Speak("这样就好了嘛");
    yield return new WaitForSeconds(5);
}

}

将Interop.SpeechLib.dll文件导入Unity,然后把上面的脚本挂载到游戏对象上就能测试语音合成的效果了。
经测试 调用v.Speak这个方法会让程序卡顿,看哪位大佬有什么方法解决

Interop.SpeechLib.dll文件链接
https://download.csdn.net/download/yuan9a/21007842?spm=1001.2014.3001.5501
我自己上传的 免费下载使用的DLL,这么简单的DLL那些人收费10-50C币也是够坑的

你可能感兴趣的:(Unity语音合成,unity,c#,语音识别)