javax.sound.sampled.LineUnavailableException을주고이 코드 첫 번째 파일이로드입니다것은 나에게 내가 두 개의 유사한 파 (비슷한 형식)이
Clip click1;
Clip click2;
File soundFile = new File("click1.wav");
AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile);
DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
click1 = (Clip) AudioSystem.getLine(info);
click1.open(sound);
soundFile = new File("click2.wav");
sound = AudioSystem.getAudioInputStream(soundFile);
info = new DataLine.Info(Clip.class, sound.getFormat());
click2 = (Clip) AudioSystem.getLine(info);
click2.open(sound);
로 미리로드하지만, 두 번째는 예외가 발생했습니다 :
javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 44100.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(DirectAudioDevice.java:492)
at com.sun.media.sound.DirectAudioDevice$DirectClip.implOpen(DirectAudioDevice.java:1278)
at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:107)
at com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1059)
at com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1149)
click2의 클립에 click1.wav를 설정하려고했지만 동일한 오류가 있습니다.
내가 우분투 11.04가 있고이 자바 -version의 결과입니다
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) Client VM (build 20.14-b01, mixed mode
편집
이것은 DataLine.Info
의에서 System.out.println의 결과입니다click1 = 인터페이스 클립 지원 형식 PCM_SIGNED 11025.0 Hz, 16 비트, 모노, 2 바이트/프레임, 리틀 엔디안
1) 파일을 전환 : 10 click2 = 인터페이스 클립 지원하는 형식은 11025.0 Hz에서, 16 비트, 모노, 2 바이트/프레임, 리틀 엔디안
감사합니다.하지만 새로운 변수를 사용하려고했지만 동일한 문제가 있습니다. –
AudioInputStream 'sound', 'info'변수 및 'soundFile'에 완전히 다른 변수를 사용하고 있습니까? 작동하지 않는 경우 어떻게 구현하는지 확인하는 것이 도움이됩니다. –
Java 7로 업그레이드했고 문제가 해결되었습니다. 그러나 "sound", "info"및 "soundFile"에 대해 다른 변수를 사용했습니다. –