드럼 애플릿을 만들려고합니다. 드럼의 모든 부분에는 키보드의 해당 키가 있으며이를 누르면 사운드가 재생됩니다. 키를 사용하여 사운드를 재생하려면 어떻게해야합니까?특정 키를 눌렀을 때 사운드를 재생하는 방법은 무엇입니까?
답변
오케이. 따라서 다른 드럼 킷 사운드의 샘플이 필요합니다. 킥, 스네어, 하이햇, 충돌 등 .wav
형식을 사용하는 것이 가장 좋습니다. 따라서 Event Handling
을 사용하면 키를 누를 때 해당 오디오가 재생됩니다. 모든 오디오 샘플이 현재 프로젝트와 동일한 디렉토리에 있는지 확인하십시오. 코드를 작성하고 숙제를하는 것만으로도 여기에 따르는 정책이 아니지만, 나는 당신에게 그 일을 설명 할 구조를 쓸 것입니다.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class DrumApplet extends Applet implements KeyListener{
//declaring Audio variables
AudioClip kick, snare, hat_close, hat_opem, crash, tom;
@Override
public void init(){
kick = this.getAudioClip(getDocumentBase(), "kick.wav");
snare = this.getAudioClip(getDocumentBase(), "snare.wav");
//load all other audio samples
addKeyListener(this); //to detect the press of a key
}
@Override
public void paint(Graphics g){
//display message as to which key to press to play a sound
}
@Override
public void keyPressed(KeyEvent K){
char X = K.getKeyCode();
if(X == 'K')
kick.play(); //play kick.wav when K is pressed
if(X == 'S')
snare.play(); //play snare.wav when S is pressed
if(X == 'T')
tom.play(); //play tom.wav when T is pressed
if(X == 'O')
hat_open.play(); //play hat_open.wav when O is pressed
//write if statements for the rest of the Keys
repaint();
}
@Override
public void keyReleased(KeyEvent K){}
@Override
public void keyTyped(KeyEvent K){}
}
희망은 이해하는 데 도움이됩니다.
대단히 감사합니다! 그것은 매우 도움이되었습니다. – Krain45
심각한 참조로 사용하지 마십시오. 애플릿은 JApplet 대신에 ... Swing이 등장하기 전에이 코드가 괜찮 았음을 의미합니다. – Stultuske
자바 배우기. 그러나 애플릿을 배우기 전에 다음 내용을 읽고 싶을 것입니다 : [CS 교사가 Java 애플릿을 가르치는 것을 중단해야하는 이유] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should-stop-teaching -java-applets /) – progyammer
Java로 코딩하고 코드화하는 방법을 배우는 것으로 학습합니다. 만약 당신이 "좀 새로운 자바"라면, "간단한 드럼 애플릿"이 당신의 리그에서 탈출하는 길입니다. 또한 애플릿은 더 이상 지원되지 않습니다. 기본 자바 학습에 중점을두고 그 후에 기술과 프레임 워크는 아직 나오지 않습니다. – Stultuske
좋아요. 그렇다면 기본 자바를 사용하여 가능하게 할 수있는 방법이 있습니까? 최소한 샘플 코드부터 시작하십시오. – Krain45
기본 자바를 배우면, 그렇지 않으면 만들 수 있습니다. 그렇지 않으면 – Stultuske