Wayss_S 2015-01-30 17:08
浏览 830

Java多线程中产生声音的问题

这个我的声音类,

public class Sound extends JApplet{

boolean Baozha = false,Fire = false,Move = false;

AudioClip tankMove = java.applet.Applet.newAudioClip(Sound.class.getClassLoader().getResource("sound/myTankMove.wav"));
AudioClip tankFire = java.applet.Applet.newAudioClip(Sound.class.getClassLoader().getResource("sound/tankFire.wav"));
AudioClip tankBaozha = java.applet.Applet.newAudioClip(Sound.class.getClassLoader().getResource("sound/tankBaozha.wav"));

public void tankBaozha(){
    Baozha = true;
    new Thread(new SoundThread()).start();
    Baozha = false;
}

public void fireZidan(){
    Fire = true;
    new Thread(new SoundThread()).start();
    Fire = false;
}

public void tankMove(){
    Move = true;
    new Thread(new SoundThread()).start();
}

private class SoundThread implements Runnable{
    public void run(){
        if(Baozha){
            tankBaozha.play();
        }
        if(Fire){
            tankFire.play();
        }
        if(Move){
            tankMove.play();
        }
    }
}

}
在其他类中的调用形式为:
Sound aaa = new Sound();
aaa.fireZidan();
但是我发现声音不能同步出现,我不明白这是什么原因,另外,我还想请教如何解决用单独的线程产生声音。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?