자바(Java)/어플리케이션
[java] 자바 wav 소리 플레이 실행 하는 방법
xemaker
2020. 7. 7. 10:03
자바에서 wav 파일 실행하는 방법 입니다.
식당에 가면 "배달의 민족 주문~" 하는 소리가 들리던데 소리파일만 그걸로 하면 똑같이 나올듯 합니다.
war 파일을 D 드라이브 루트로 해놨으니 원하는 경로랑 파일을
File file = new File("D:\\beep.wav");
이부분에서 지정하면 되겠습니다.
그런 전체 소스를 살펴보겠습니다.
import java.io.File;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Main {
public static void audio() {
try {
File file = new File("D:\\beep.wav");
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(file));
// clip.loop(Clip.LOOP_CONTINUOUSLY);
clip.loop(3);
clip.start();
} catch (Exception e) {
System.err.println("Put the music.wav file in the sound folder if you want to play background music, only optional!");
}
}
private static String arg;
public static void main(String[] args){
arg = "background.gif";
JFrame f = new JFrame();
JPanel p = new JPanel();
JLabel l = new JLabel();
ImageIcon icon = new ImageIcon(arg);
f.setSize(480, 360);
f.setVisible(true);
l.setIcon(icon);
p.add(l);
f.getContentPane().add(p);
f.setLocationRelativeTo(null);
f.setResizable(false);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
audio();
}
}
일단 식당에 가도 "배달의 민족 주문"이 3번 정도 울리는거 같으니
clip.loop(3);
이부분에서 3으로 했고 반복을 원하는 숫자를 넣으면 됩니다.
창이 닫히기 전에 무한 반복하려면
clip.loop(Clip.LOOP_CONTINUOUSLY);
이렇게 하면 됩니다.