c# - 如何将 Text to Speech 添加到 Unity 项目?

标签 c# unity3d

我正在寻找 System.speech 来统一工作?有什么方法可以在 unity 和 MonoDevelop 中包含这个 DLL 吗?

因为我想在不花 Assets 商店的钱的情况下制作声音文本到语音。如果 System.Speech 库 DLL 可以处理这个问题,为什么不呢。如何让它与 unity 5.3.5 一起工作?

此外,我已经尝试了 speechLib.dll。它在编辑器中工作,但当构建到 APK 时出错,无法构建。

最佳答案

Dll 文件在 Android 或 iOS 上不起作用,除非它是没有 Windows 指定 API 的非托管 dll 文件。如果它是 Windows API 或托管 dll,则它将无法在 Android 或 iOS 上运行。

您有两个选择:购买插件或制作您自己的插件。如果您只针对 Android 和 iOS,那么请选择 this Easy TTS 售价 5 美元。

如果您想自己制作一个,那么过程与我的 Speech to Text solution 非常相似.唯一的区别是使用的类。做你自己很容易。唯一的缺点是为每个平台制作一个非常耗时。

安卓:

TextToSpeech类。

iOS:

AVSpeechSynthesizer

MacOS:

NSSpeechSynthesizer

window :

ISpVoice

Internet 上有大量关于如何使用它们的示例。您必须使用 Java 为 Android 类制作插件,为 iOS 和 MacOs 类制作 Objective-C。 Windows 类的 C++。

要将它们放在一起,您应该使用 Unity 的指令来完成。

class TextToSpeech
{
  #if UNITY_ANDROID  
    Use TextToSpeech class
  #endif

  #if UNITY_IOS
    Use AVSpeechSynthesizer class
  #endif

  #if UNITY_STANDALONE_OSX || UNITY_EDITOR_OSX
    Use NSSpeechSynthesizer class
  #endif

  #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
    Use ISpVoice class
  #endif 
}

关于c# - 如何将 Text to Speech 添加到 Unity 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42573307/

相关文章:

c# - 用于解析/修改 C# 源代码(并在之后进行编译)的库

c# - #if 库的编译指令

c# - 将 Prolog 与 C# (Unity) 结合使用

c# - 在 MVC 应用程序的连接查询中使用 Linq to SQL 的动态 where 子句

c# WPF 中的语法高亮显示

c# - 给定 4 个世界点,我如何计算相机位置?

android - 为什么我的Gradle无法在Unity Android Build上使用?

c# - 从 Unity 3D 中按比例缩小的 UI 图像上的相对 x、y 位置获取像素

c# - 按线程顺序同步线程对固定大小队列的访问

c# - 获取创建类的对象的实例