Я пытаюсь создать барабанный апплет. Поэтому каждая часть барабана имеет соответствующие клавиши на клавиатуре, и если вы нажмете на нее, раздастся звук. Как играть звук с помощью клавиш?Как воспроизводить звук при нажатии определенной клавиши?
ответ
Хорошо. Таким образом, вам нужны образцы разных звуков ударных, например. Kick, Snare, Hihat, crash и т. Д. Лучше всего, если у вас их есть в формате .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
Изучите Java. Однако перед изучением апплетов вы хотели бы прочитать следующее: [Почему учителя CS должны прекратить преподавать Java-апплеты] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should-stop-teaching -java-апплеты /) – progyammer
, изучая код на Java и кодируйте его. Если вы «новичок в java», «простой барабанный апплет» - это выход из вашей лиги. Также: апплеты больше не поддерживаются. сосредоточиться на изучении базовой Java, и после этого перейдем к технологиям и фреймворкам, которые еще не выходят. – Stultuske
Хорошо. Так можно ли каким-либо образом сделать это возможным, используя базовую java? По крайней мере, пример кода для начала. – Krain45
изучите базовую Java, и вы сможете это сделать, иначе не – Stultuske