Win10下 Unity项目使用SpeechLib.dll文字转语音打包闪退的问题解决
一、问题描述
- 环境
Unity版本:Unity2020.1.6f1 运行平台:Windows10 ———————————————————————————————————— - 问题
导入 Interop.SpeechLib.dll (或叫SpeechLib.dll) 到项目Plugins目录,编辑器环境下运行正常,但是打包之后执行时,直接闪退。 ————————————————————————————————————
二、解决方案
- 方案
运行环境缺失所致。需要添加CustomMarshalers.dll。 - 所需DLL
- Interop.SpeechLib.dll
网上搜Interop.SpeechLib.dll(SpeechLib.dll也可以) - CustomMarshalers.dll
 - DLL百度云盘链接
链接:https://pan.baidu.com/s/1K4YR0sA85YqsE9R5vokXjg 提取码:abcd
三、测试代码
using UnityEngine;
using SpeechLib;
public class SpeechText : MonoBehaviour
{
private SpVoice spVoice = new SpVoice();
public string speechMsg = "松下问童子,言师采药去。只在此山中,云深不知处。";
void Start()
{
Init();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Q))
{
Speech(speechMsg);
}
}
private void Init()
{
spVoice.Voice = spVoice.GetVoices().Item(0);
}
public void Speech(string msg)
{
spVoice.Speak(msg, SpeechVoiceSpeakFlags.SVSFlagsAsync);
}
}
|