java - 使用 freeTTS 语音时无法播放 gif - Java

标签 java netbeans voice

我正在使用 freeTTS 说出一些文本,在后台我想要一个动画 gif 继续播放 当我尝试这样做时:一旦声音开始说话,背景中的图像就会被挂起,即使我将其保留在其他 JFrame 中......并且在语音完成后它开始移动。我希望它能够正常运行而不会暂停。 我将一个动画 gif 导入到我的应用程序中,并将图标更改为标签属性中的该图像,从而将其放置在标签中。

编辑 这是我的代码:

 private void RandomjBActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Voice voice;
        voice = voiceManager.getVoice(VOICENAME);
        voice.allocate();
        voice.speak("Daksh"); 
    }               

我实际上使用了很多 setVisible、setText、整数声明,对它们进行计算,但我已经删除了它们以简化代码以便您理解。如果执行的话仍然会出现同样的问题。

通过以下代码从另一个按钮单击按钮“RandomjB”​​:

final Timer timer = new Timer(zad, new ActionListener() {
    int tick = 0;

    @Override
    public void actionPerformed(ActionEvent e) {
      System.out.println("Success" + ++tick);
              RandomjB.doClick();
              final int col = Integer.parseInt(t3.getText());;
      if (tick >= col) {
        ((Timer) e.getSource()).stop();
      for(int g=0; g<col; g++){
    jButton2.setVisible(true); // Check Button -> Visible

}
      }

    }
  });



  timer.setInitialDelay(0);
  System.out.format("About to schedule task.%n");
   timer.start(); 
  System.out.format("Task scheduled.%n");

最佳答案

如果没有代码,很难说清楚,但是我假设您在唯一的 Swing 线程中循环语音合成,因此只要语音循环正在进行,就会阻止所有类型的窗口更新。

正如 Shaun Wild 所说:您需要使用第二个线程来进行语音循环。

关于java - 使用 freeTTS 语音时无法播放 gif - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19201264/

相关文章:

java - 加载或实例化 TagLibraryValidator 失败

c# - 这是众所周知的设计模式吗?它叫什么名字?

python - pyttsx3:无法设置指定的语言

animation - 面部动画与演讲同步

voice - 如何录制谷歌助手演示?

java - 通过 Java 实现 Google map ?

java - 在 mysql workbench 和 java app 中获取不同的日期值

java - 谷歌应用程序中的 Java IDE

maven - 如何强制 NetBeans 加载 Gradle 项目而不是 Maven pom?

java - 如何使用 Maven 将属性添加到 java Manifest