首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用freeTTS语音时无法播放gif

使用freeTTS语音时无法播放gif
EN

Stack Overflow用户
提问于 2013-10-05 18:31:25
回答 2查看 200关注 0票数 1

我用freeTTS说出一些文字,在后台我想要一个动画的gif继续播放当我尝试这个:一旦声音开始说话,背景中的图像就会被挂起来,即使我把它保存在其他JFrame中.演讲结束后,它开始移动。我要它在没有停顿的情况下正常运行。通过将动画gif导入到我的应用程序中并在label‘属性中将图标更改为该图像,我将在标签中放置一个动画gif。

编辑这里是我的代码:

代码语言:javascript
复制
 private void RandomjBActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Voice voice;
        voice = voiceManager.getVoice(VOICENAME);
        voice.allocate();
        voice.speak("Daksh"); 
    }               

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

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

代码语言:javascript
复制
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");
EN

回答 2

Stack Overflow用户

发布于 2013-10-05 18:34:59

你可能想研究一下线程和并发

这允许两件事同时进行,这只是我的假设。

假设您为FreeTTS实例化了某种类,那么您可能需要这样做

代码语言:javascript
复制
FreeTTSClass tts;

new Thread(new Runnable(){
    public void run(){
        tts = new FreeTTSClass();
    }
}).start();
票数 0
EN

Stack Overflow用户

发布于 2013-10-05 18:38:13

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

正如肖恩·怀尔德所说:你需要在语音循环中使用第二个线程。

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

https://stackoverflow.com/questions/19201264

复制
相关文章

相似问题

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