여기를 사용하십시오. 내 코드가 아닙니다. How to play .wav files with java 여기에 게시하여 조금 최적화했습니다.
private final int BUFFER_SIZE = 128000;
private AudioInputStream audioStream;
private SourceDataLine sourceLine;
/**
* @param filename the name of the file that is going to be played
*/
public void playSound(String filename){
try {
audioStream = AudioSystem.getAudioInputStream(new File(filename));
} catch (Exception e){
e.printStackTrace();
}
try {
sourceLine = (SourceDataLine) AudioSystem.getLine(new DataLine.Info(SourceDataLine.class, audioStream.getFormat()));
sourceLine.open(audioStream.getFormat());
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
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();
}
이 정보가 도움이되기를 바랍니다.
파일 형식은 무엇입니까? 코덱을 사용합니까? – Mansueli
아니요. 정상적인 .WAV 파일이고 다른 파일을 시도했습니다. – Ood
클립이 완료 될 때까지 기다려야합니다. [이 질문] (https://stackoverflow.com/questions/557903/how-can-i-wait-for-a-java-sound-clip-to-finish - 재생 - 백) –