음, 나는 런치 패드를 시뮬레이션하는 프로그램을 만들려고합니다. 하지만이를 위해서는 프로그램을 열고 "Q"키를 눌러야합니다. 그러면 소리가납니다. 어떻게 할 수 있습니까? 간단히 말해서 "핸드 셰이크는 키를 지정하고 누르고있는 동안 소리를 탭합니다."대답 할 수 있으면 감사합니다! xD 키보드의 버튼을 클릭했는데 오류가 발생하면 다음 코드가 음악으로 나타납니다.
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");
}
클릭하면 사운드가 재생되지만 다음 오류가 표시되도록 KeyListener를 만들었습니다.
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)
Im 라이브러리 AWT 및 Swing을 사용하고 있습니다. (JPanel, ImageIcon, 사운드 사용)
업데이트 된 문제는 다음과 같습니다.
getClass().getResource("1.wav")
나는 당신이 생각하는 것을하지 않고 null을 반환합니다.
디버거에서 코드를 단계별로 실행하여 무슨 일이 일어나고 있는지 확인하고 wav를 찾을 수 없는지 / 이유를 확인하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다