如何将Text to Speech添加到Unity项目中?

Den*_*Liu 7 c# unity-game-engine

我正在寻找System.speech团结一致的工作?有没有办法如何将这个DLL包含在统一和MonoDevelop中?

因为我试图在没有从资产商店花钱的情况下制作完整的文本语音.如果System.Speech Library DLL可以解决这个原因.如何使它与统一工作5.3.5?

我也已经尝试过speechLib.dll了.它在编辑器中工作但是当构建到APK时它是错误的并且无法构建.

Pro*_*mer 6

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

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

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

安卓

TextToSpeech类。

IOS

AVSpeechSynthesizer

操作系统

NSSpeechSynthesizer

窗户

ISpVoice

互联网上有很多关于如何使用这些的例子。您必须使用 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 
}
Run Code Online (Sandbox Code Playgroud)