【发布时间】:2014-05-17 05:08:50
【问题描述】:
我有一个 java 程序,我在其中使用 TTS(文本到语音),同时我想要一个动画 gif 出现在屏幕上。我正在使用 Netbeans GUI 构建器,所以我创建了一个新的 jpanel form 并在该表单(java jpanel 表单)的标签中添加了 gif,然后我将此 java 作为 jpanel 添加到我的主 java 文件(通过拖放)。但问题是,一旦 TTS 开始说话,它就会停止 gif 的动画。如何让它协同工作?
注意:我正在使用 freeTTS 将文本转换为语音
代码:
private static final String VOICENAME = "kevin16";
VoiceManager voiceManager = VoiceManager.getInstance();
.....
........
Voice voice;
voice = voiceManager.getVoice(VOICENAME);
voice.allocate();
....//Some code here
t4.setText("" + ran);
voice.speak(t4.getText());
listenanum.setText("" + d);
listenanum.setVisible(false);
【问题讨论】:
-
Downvoter 是否愿意发表评论?
-
我们遗漏了一些内容:“您的 TTS 使用了哪个 API 和实现?”和“你是如何调用 TTS 的?”。特别是,如果您从 Swing UI 线程调用 TTS,并且您的 TTS API 在线程说话时阻塞了该线程,则 UI 中的任何内容都不会更新 - 如果是这种情况,您需要在不同的线程上说话。
-
@ErwinBolwidt 我不知道你写了什么,但我会尽力给你这些信息,我会展示我正在做 TTS 的代码
-
@ErwinBolwidt 你还想要什么?
-
注意我没有对这个问题投票。一件事很可能,但我不能 100% 确定——这段代码是如何调用的?是来自 ActionListener 还是其他事件侦听器?
标签: java multithreading swing