>Java >java지도 시간 >Java에서 WAV 파일을 재생하는 방법은 무엇입니까?

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

DDD
DDD원래의
2024-11-14 20:38:02925검색

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();
    }
}

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

예를 들어 버튼을 눌렀을 때 짧은 비프음을 재생하려면 다음을 추가하면 됩니다. 코드:

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

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

위 내용은 Java에서 WAV 파일을 재생하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.