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

时间:2017-03-03 07:44:11

标签: c# unity3d

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

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

此外,我已尝试 speechLib.dll 。它是在编辑器中工作但是当构建到APK时它是错误的并且无法构建。

1 个答案:

答案 0 :(得分:4)

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

您有两种选择:购买插件或制作自己的插件。如果您只定位Android和iOS,请转到费用为5美元的this Easy TTS

如果你想自己制作一个,那么这个过程与我的言语文本solution非常相似。唯一的区别是使用的类。让自己变得轻松自在。唯一的缺点是为每个平台制作一个是耗时的。

<强>的Android

TextToSpeech上课。

<强>的iOS

AVSpeechSynthesizer上课

<强>的MacOS

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 
}