我希望有人可以提供帮助,因为我有点难过。我有一个运行用户界面的javafx类,其中包括一个用于大声读出一些文本的按钮。当你按它时,它会调用一个Java对象,该对象使用FreeTTS java语音合成器大声读出一个字符串,这一切都正常。
问题是,当语音被读出时,程序完全停止直到完成。我不是线程应用程序的专家,但我理解通常如果我扩展Thread类,并在重写的run方法中提供语音合成代码的实现,当我在类上调用start时它“应该”创建一个新的Thread,并在那里运行此代码,允许打开JavaFX GUI的主线程正常继续。
知道为什么不是这样吗?非常感谢提前!
答案 0 :(得分:0)
Ack - 我已经解决了!我调用了类的start()方法而不是run()及其排序。看起来现在看起来很明显!