개요
포켓몬스터 게임 개발 중 버튼 클릭 시 효과음을 구현하고 싶어 찾아보게 된 메서드.
Java의 javax.sound.sampled 패키지에는 오디오 재생을 위한 기능은 내장되어 있지만, 한 줄로 오디오를 재생하는 메서드는 내장되어 있지 않기 때문에 사용자 정의 메서드 playSound를 직접 작성해야 사용하기 편하다고 한다.
📍정의
playSound : 특정 오디오 파일을 입력받아 재생하는 역할을 하는 사용자 정의 메서드.
사용자 정의 메서드로, 필요에 따라 이름은 변경 가능
📍역할
버튼 클릭, 알림, 경고음 등을 구현
📍필요 라이브러리
import javax.sound.*
📍playSound 메서드 구현 예시
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import java.io.File;
public class SoundEffect {
public static void playSound(String soundFilePath) {
try {
// AudioInputStream: 오디오 데이터를 읽어오는 스트림
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(soundFilePath).getAbsoluteFile());
// Clip : 오디오 데이터를 로드하고 재생하는 객체
// AudioSystem: 오디오 시스템의 리소스를 얻는 데 사용되는 유틸리티 클래스
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
// 클립 재생
clip.start();
} catch (Exception e) {
// 예외 발생 시 오류 메시지를 출력
System.out.println("오류 발생 : " + e.getMessage());
}
}
}
📍메서드 사용 코드
// 버튼 클릭 시 효과음 재생
SoundEffect.playSound("src/sounds/click.wav");
'Framework & Library > Swing' 카테고리의 다른 글
[Swing] JOptionPane 팝업 창 클래스 (0) | 2024.09.17 |
---|---|
[Swing] 이벤트 처리 (Event Handling) (0) | 2024.09.05 |
[Swing] 배치 관리자 (0) | 2024.09.05 |
[Swing] 기초 컴포넌트의 생성자와 메서드 (1) | 2024.09.05 |
[Swing] 자바 GUI 스윙 (Swing) (1) | 2024.09.03 |