这是一个关于开源软件项目的编程模式的理论问题。
我们正在开发开源项目Araword (用Java语言编写,但这是部分相关的),我们想要添加离线文本到语音转换功能,因为它现在只使用谷歌的在线语音转换服务。
该软件可以跨平台运行。因此,根据底层操作系统,用户必须能够在与平台相关的TTS实现和跨平台(Google)实现之间进行选择。
我们希望以一种优雅的方式在每个TTS实现之间切换,但是关于什么是最佳实践呢?
1)我在维基百科上听说过Factory Method Pattern:
http://en.wikipedia.org/wiki/Factory_method_pattern
2) IoC /服务定位模式:
http://en.wikipedia.org/wiki/Service_locator_pattern
如果有任何建议,我将不胜感激。
发布于 2015-03-26 06:21:33
如果你想切换到系统的TTS,那么可以这样做:
或者,使用跨平台的FreeTTS库,然后实现它(请注意,声音质量较低)。
可以在以下位置找到FreeTTS项目:
http://freetts.sourceforge.net/docs/index.php
https://stackoverflow.com/questions/29267591
复制相似问题