>  기사  >  Java  >  Java 애플리케이션에서 버튼을 클릭하여 .WAV 파일을 재생하려면 어떻게 해야 합니까?

Java 애플리케이션에서 버튼을 클릭하여 .WAV 파일을 재생하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-14 11:20:02600검색

How can I play a .WAV file with a button click in my Java application?

버튼 클릭으로 Java로 .WAV 파일 재생

Java 애플리케이션을 개발할 때 사운드 효과나 오디오 재생을 애플리케이션에 통합해야 하는 경우가 많습니다. 사용자 경험. 이 문서에서는 버튼 클릭 시 짧은 .wav 경고음을 재생하는 방법을 보여줍니다.

.WAV 파일 재생을 위한 코드 조각

다음 코드 조각은 이에 대한 자세한 솔루션을 제공합니다. 문제:

import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

public class PlayWAVFileOnClick {

    private static final int BUFFER_SIZE = 128000;
    private File soundFile;
    private AudioInputStream audioStream;
    private AudioFormat audioFormat;
    private SourceDataLine sourceLine;

    public static void main(String[] args) {
        // Instantiate a new PlayWAVFileOnClick object
        PlayWAVFileOnClick player = new PlayWAVFileOnClick();

        // Specify the path to the .wav file
        String soundFilepath = "path/to/beep.wav";

        // Play the sound
        player.playSound(soundFilepath);

        // Close resources after playback
        player.closeResources();
    }

    public void playSound(String filename) {
        try {
            soundFile = new File(filename);
            audioStream = AudioSystem.getAudioInputStream(soundFile);
            audioFormat = audioStream.getFormat();
            DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
            sourceLine = (SourceDataLine) AudioSystem.getLine(info);
            
            sourceLine.open(audioFormat);
            sourceLine.start();
            
            byte[] data = new byte[BUFFER_SIZE];
            int readSize = 0;
            
            while ((readSize = audioStream.read(data)) != -1) {
                sourceLine.write(data, 0, readSize);
            }
            
        } catch (IOException | LineUnavailableException e) {
            e.printStackTrace();
        }
    }

    public void closeResources() {
        try {
            sourceLine.drain();
            sourceLine.close();
            audioStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

설명

  • playSound(String filename) 메서드는 .wav 파일 경로를 입력으로 사용하고 오디오를 재생합니다.
  • closeResources() 메서드는 오디오 스트림, 소스 라인 등 오디오 재생에 사용되는 모든 리소스를 닫습니다.
  • 오디오 재생을 위해 너무 많은 작은 버퍼를 생성하지 않도록 효율성을 위해 BUFFER_SIZE가 지정됩니다.

결론

이 코드를 사용하여 Java 개발자는 .wav 사운드 재생을 애플리케이션에 쉽게 통합하여 사운드 효과 및 알림으로 사용자 경험을 향상시킬 수 있습니다.

위 내용은 Java 애플리케이션에서 버튼을 클릭하여 .WAV 파일을 재생하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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