我这里有一个监听用户输入的代码。
System.out.println(message);{
if(message.equals("play")){
try {
AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File("c:/DancingMachupapet/Test.wav"));
Clip clip = AudioSystem.getClip();
// getAudioInputStream() also accepts a File or InputStream
clip.open(inputStream);
clip.start();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JOptionPane.showMessageDialog(null, "Close to exit!");
}
});
}catch (IOException e) {
}
}
if(message.equals("hoy")){
try {
AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File("c:/DancingMachupapet/ThinkOfManu.wav"));
Clip clip = AudioSystem.getClip();
// getAudioInputStream() also accepts a File or InputStream
clip.open(inputStream);
clip.start();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JOptionPane.showMessageDialog(null, "Close to exit!");
}
});
}catch (IOException e) {
}
}
}
该代码在看到消息“hoy”和“play”时起作用,它将分别播放“ThinkOfManu.wav”和“Test.wav”。它可以工作,但我的问题是当我同时输入“hoy”和“play”时,两个 wav 文件也会同时播放。
我想要发生的是,当 ThinkOfManu.wav 正在播放并且我调用 Test.wav 时,ThinkOfManu 应该停止并播放 Test.wav。不是同时的。
请在这里帮助我。