"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java에서 WAV 파일을 재생하는 방법은 무엇입니까?

Java에서 WAV 파일을 재생하는 방법은 무엇입니까?

2024년 11월 19일에 게시됨
검색:440

How to Play WAV Files in Java?

Java로 WAV 파일 재생

Java 애플리케이션을 개발할 때 오디오 파일을 재생하는 것은 일반적인 요구 사항입니다. 이 튜토리얼에서는 *.wav 파일 재생을 위한 포괄적인 솔루션을 제공하여 사운드 효과와 오디오를 Java 프로그램에 통합할 수 있습니다.

시작하려면 오디오 재생을 처리하는 클래스를 만듭니다. 아래 예에서는 오디오 파일 재생을 위한 메서드를 포함하는 MakeSound 클래스를 만듭니다.

public class MakeSound {

    // Buffer size for reading audio data
    private final int BUFFER_SIZE = 128000;

    // Initialize audio variables
    private File soundFile;
    private AudioInputStream audioStream;
    private AudioFormat audioFormat;
    private SourceDataLine sourceLine;

    public void playSound(String filename) {
        // Open the audio file
        soundFile = new File(filename);
        audioStream = AudioSystem.getAudioInputStream(soundFile);
        
        // Get audio format
        audioFormat = audioStream.getFormat();
        
        // Open the audio output line
        DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
        sourceLine = (SourceDataLine) AudioSystem.getLine(info);
        sourceLine.open(audioFormat);
        
        // Start the audio line
        sourceLine.start();
        
        // Read and write the audio data
        int nBytesRead;
        byte[] abData = new byte[BUFFER_SIZE];
        while ((nBytesRead = audioStream.read(abData, 0, abData.length)) != -1) {
            sourceLine.write(abData, 0, nBytesRead);
        }
        
        // Stop and close the audio line
        sourceLine.drain();
        sourceLine.close();
    }
}

기본 애플리케이션에서는 재생하려는 WAV 파일의 파일 이름을 전달하고 playSound() 메서드를 호출하여 MakeSound 클래스를 사용하여 오디오 파일을 재생할 수 있습니다.

예를 들어 버튼을 눌렀을 때 짧은 경고음이 울리도록 하려면 다음 코드를 추가하면 됩니다.

MakeSound sound = new MakeSound();
sound.playSound("beep.wav");

이 솔루션은 Java 애플리케이션에서 *.wav 파일을 안정적이고 쉽게 재생할 수 있는 방법을 제공하여 향상된 기능과 사용자 경험을 위해 프로그램에 오디오를 추가할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3