2014-07-18 4 views
-2

글쎄, 나는 런치 패드를 시뮬레이트하는 프로그램을 만들려고하고있다. 하지만이를 위해서는 프로그램을 열고 "Q"키를 누르십시오. 소리가납니다. 내가 어떻게 할 수 있니? 간단히 말해, "핸드 쉐이크는 키를 지정하고 눌렀을 때 소리를 탭합니다."대답 할 수 있으면 감사하겠습니다! 의 xD 내 키보드의 버튼을 클릭하고, 오류가, 다음 코드는 음악 나타납니다KeyListener를 오디오와 함께 사용하는 방법?

: 나는 사운드 재생을 클릭하지만, 다음과 같은 오류가 나타날 때 그래서 나는 모든 KeyListener를 만들어
try { 
AudioInputStream sound = AudioSystem.getAudioInputStream (getClass() getResource  ("1.wav").); 
DataLine.Info info = new DataLine.Info (Clip.class, sound.getFormat()); 
Clip clip = (Clip) AudioSystem.getLine (info); 
clip.open (sound); 
clip.start(); 
if (playing == false) { 
clip.stop(); 
Else {} 
clip.start(); 
} 
} Catch (Exception e) { 
JOptionPane.showMessageDialog (null, "Fatal err"); 
} 

java.lang.NullPointerException 
com.sun.media.sound.StandardMidiFileReader.getSequence at (Unknown Source) 
javax.sound.midi.MidiSystem.getSequence at (Unknown Source) 
com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream at (Unknown Source) 
javax.sound.sampled.AudioSystem.getAudioInputStream at (Unknown Source) 
at Programa.LaunchPad.som1 (LaunchPad.java: 41) 
Programa.LaunchPad at $ BotãoAção.keyReleased (LaunchPad.java: 201) 
java.awt.Component.processKeyEvent at (Unknown Source) 
at java.awt.Component.processEvent (Unknown Source) 
at java.awt.Container.processEvent (Unknown Source) 
java.awt.Window.processEvent at (Unknown Source) 
at java.awt.Component.dispatchEventImpl (Unknown Source) 
at java.awt.Container.dispatchEventImpl (Unknown Source) 
at java.awt.Window.dispatchEventImpl (Unknown Source) 
at java.awt.Component.dispatchEvent (Unknown Source) 
java.awt.KeyboardFocusManager.redispatchEvent at (Unknown Source) 
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent at (Unknown Source) 
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent at (Unknown Source) 
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions at (Unknown Source) 
java.awt.DefaultKeyboardFocusManager.dispatchEvent at (Unknown Source) 
at java.awt.Component.dispatchEventImpl (Unknown Source) 
at java.awt.Container.dispatchEventImpl (Unknown Source) 
at java.awt.Window.dispatchEventImpl (Unknown Source) 
at java.awt.Component.dispatchEvent (Unknown Source) 
java.awt.EventQueue.dispatchEventImpl at (Unknown Source) 
java.awt.EventQueue.access at $ 200 (Unknown Source) 
at java.awt.EventQueue $ 3.run (Unknown Source) 
at java.awt.EventQueue $ 3.run (Unknown Source) 
at java.security.AccessController.doPrivileged (Native Method) 
java.security.ProtectionDomain at $ 1.doIntersectionPrivilege (Unknown Source) 
java.security.ProtectionDomain at $ 1.doIntersectionPrivilege (Unknown Source) 
at java.awt.EventQueue $ 4.run (Unknown Source) 
at java.awt.EventQueue $ 4.run (Unknown Source) 
at java.security.AccessController.doPrivileged (Native Method) 
java.security.ProtectionDomain at $ 1.doIntersectionPrivilege (Unknown Source) 
at java.awt.EventQueue.dispatchEvent (Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters (Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter (Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy (Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents (Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents (Unknown Source) 
at java.awt.EventDispatchThread.run (Unknown Source) 

메신저 라이브러리 AWT 및 스윙을 사용 중입니다. 난 그런 당신이 그것을 수행하고, null를 돌려 생각하지 않는 걸거야

getClass().getResource("1.wav") 

: (JPanel의, 이미지 아이콘, 사운드)

+0

질문을 살피시겠습니까? 어떤 GUI 라이브러리입니까? 기계적 인조 인간? 그네? SWT? AWT? 다른? 너 뭐 해봤 니? 어디서 붙어 있니? –

+0

Google : java keylistener, google : java sound. –

+0

NPE입니다. 널 포인터 예외에 대해 어떻게 알지 못합니까? – csmckelvey

답변

1

업데이트 문제는이 부분 것으로 보인다.

디버거에서 코드를 단계별로 실행하여 진행 상황을 확인하고 wav를 찾을 수없는 이유를 확인하십시오.

+0

다음과 같이 정확한 답을 표시하십시오 :) –

관련 문제