ここに、ユーザーの入力をリッスンするコードがあります。
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」を同時に入力すると、2 つの wav ファイルも同時に再生されることです。
私が実現したいのは、ThinkOfManu.wav の再生中に Test.wav を呼び出したときに、ThinkOfManu が停止して Test.wav を再生することです。同時にではありません。
ここで私を助けてください。