Il codice è molto semplice, uso soltanto una classe.
Con questo metodo suono una nota:
codice:
public static void playNote(int n){
try {
clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(note[n]));
clip.start();
}catch (Exception er){}
}
Mentre con questo le registro:
codice:
public static void registraNota(int n){
if(recON){
salvataggio.add(n);
}
}
...e le riproduco:
codice:
public static void riproduciRegistrazione(Vector s){
for(int i=0; i<s.size(); i++){
int numNota = (Integer) s.elementAt(i);
playNote(numNota);
}
}
Le note sono salvate in un array di file. In questo modo elementare tutto funziona correttamente, ma come puoi vedere nell'ultimo metodo ovviamente le note vengono riprodotte con la velocità della for.
Non conosco l'interfaccia Serializable e credo di non riuscirla ad applicare in un giorno...c'è un modo più semplice anche se "rozzo"?