>  기사  >  Java  >  Java에서 .WAV 파일을 쉽게 재생하는 방법은 무엇입니까?

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-13 01:54:02801검색

How to Play .WAV Files in Java with Ease?

Java에서 쉽게 .WAV 파일 재생

올바른 도구와 기술을 사용하면 Java에서 오디오 파일을 쉽게 재생할 수 있습니다. 버튼을 누를 때 간단한 경고음을 재생하여 이 문제를 해결해 보겠습니다.

.WAV 파일 재생을 위한 코드 스니펫

이를 달성하려면 다음 Java 코드 스니펫을 사용하세요. 고급 오디오 기능 활용:

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 PlaySound {

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

    public void playSound(String filename){

        String strFilename = filename;

        try {
            soundFile = new File(strFilename);
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }

        try {
            audioStream = AudioSystem.getAudioInputStream(soundFile);
        } catch (Exception e){
            e.printStackTrace();
            System.exit(1);
        }

        audioFormat = audioStream.getFormat();

        DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
        try {
            sourceLine = (SourceDataLine) AudioSystem.getLine(info);
            sourceLine.open(audioFormat);
        } catch (LineUnavailableException e) {
            e.printStackTrace();
            System.exit(1);
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }

        sourceLine.start();

        int nBytesRead = 0;
        byte[] abData = new byte[BUFFER_SIZE];
        while (nBytesRead != -1) {
            try {
                nBytesRead = audioStream.read(abData, 0, abData.length);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (nBytesRead >= 0) {
                @SuppressWarnings("unused")
                int nBytesWritten = sourceLine.write(abData, 0, nBytesRead);
            }
        }

        sourceLine.drain();
        sourceLine.close();
    }
}

단계별 설명

  • playSound() 메소드는 WAV 파일의 파일명을 입력 인자로 받습니다.
  • 파일, 스트림, 포맷 등 다양한 오디오 관련 객체를 초기화합니다. , 사운드 라인.
  • 코드는 WAV 파일을 읽고 소스 라인을 열어서 준비합니다.
  • while 루프는 파일을 덩어리로 읽고 소스 라인에 씁니다.
  • 파일이 완전히 읽혀지면 소스 라인이 비워지고 닫혀 깨끗한 오디오 재생이 보장됩니다.

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

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