首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FreeTTS挂在ColdFusion 8/ Java中

FreeTTS挂在ColdFusion 8/ Java中
EN

Stack Overflow用户
提问于 2010-07-28 19:05:34
回答 1查看 468关注 0票数 2

我正在考虑建立一个文本到语音翻译,以使我们的CAPTCHA挑战ADA兼容。我们是一家ColdFusion商店,雷·卡姆登去年已经做了这个概念的证明。我一直在使用他的博客文章-- http://www.coldfusionjedi.com/index.cfm/2009/5/29/Generating-Speech-with-ColdFusion-and-Java --作为资源。

那里的一切都很好..。除了FreeTTS应该工作的部分。我有以下代码:

代码语言:javascript
复制
<cfset jardir = expandPath("freetts-1.2.2-bin/freetts-1.2/lib") />
<cfset jars = [] />
<cfdirectory name="jarList" directory="#jardir#" />
<cfloop query="jarList">
    <cfset ArrayAppend(jars, jardir & "/" & name) />
</cfloop>

<cfset loader = createObject("component", "javaloader.JavaLoader").init(jars) />

<cfset voiceManager = loader.create("com.sun.speech.freetts.VoiceManager") />
<cfset vm = voiceManager.getInstance() />
<cfset voice = vm.getVoice("kevin16") />

<cfset voice.allocate() />
<!--- <cfset voice.speak("Hi.") /> --->
<cfset voice.deallocate() />

因为这样,它运行良好,我可以在释放后(甚至在分配之后)转储语音对象。因此,您可以知道依赖项位于正确的位置,并且ColdFusion正在正确地实例化所有内容。但是,一旦我取消了对call ()的调用,测试脚本就会挂起这个方法。

迹象表明,某些服务器配置问题是罪魁祸首,但对于我的生活,我想不出它会是什么。(我们使用的是ColdFusion 8.01,按by。)如果有人能进一步了解为什么FreeTTS会这样做,我会非常感激的。

更新:这似乎是一个更普遍的问题。ColdFusion的JRUN日志显示了服务器开始挂起时引发的以下错误:

代码语言:javascript
复制
Exception in thread "Thread-667" java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting format PCM_SIGNED 8000.0 Hz, 16 bit, mono, 2 bytes/frame, big-endian is supported.

此外,如果我试图从命令行( FreeTTSHelloWorld.jar )中立即运行java -jar bin/FreeTTSHelloWorld.jar,Java将挂起,我们将不得不使用^C强制退出。

EN

回答 1

Stack Overflow用户

发布于 2011-09-14 05:33:10

有声卡吗?尝试(从同一篇文章中从射线)将文件写入磁盘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3356448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档