Sto provando a riprodurre midi in un browser e ho utilizzato un'applet Java che funziona perfettamente con i PC. La sua estremamente inaffidabile su OSX, così ho scritto un semplice caso di test che presenta lo stesso problema:Java Midi in Mac OSX interrotto?
import javax.sound.midi.*;
import java.io.InputStream;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class MidiPlayer {
public static void main(String[] args) {
try {
Sequencer sequencer = MidiSystem.getSequencer();
if (sequencer == null)
throw new MidiUnavailableException();
sequencer.open();
FileInputStream is = new FileInputStream("sample.mid");
Sequence mySeq = MidiSystem.getSequence(is);
sequencer.setSequence(mySeq);
sequencer.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Sembra che il messaggio occasionale è sempre caduto .. Come un noteoff non si attiva, e una nota casuale resisti per sempre. Si tratta di un problema noto in OSX? Sembra che Java non abbia abbastanza amore da Apple in questi giorni.
Se qualcuno ha una soluzione migliore per giocare a Midi in un browser, sono tutto orecchie!
È possibile riprodurre il problema utilizzando un MIDI che può essere collegato via cavo a? PER ESEMPIO. ci sono 2 sotto 12Kb disponibili nella mia [pagina media] (http://pscode.org/media/#sound). –
[ecco un file di esempio] (http://dl.dropbox.com/u/29939553/november%20rain.mid) Ho lasciato il mio mac al lavoro; torna da te domani dopo aver testato i tuoi file. Il problema sembra tuttavia avvenire casualmente! Non sono stato in grado di riprodurlo in modo affidabile. Succede almeno una volta ogni 30 secondi circa. – Ben
Andrew, sono stato in grado di ricreare il problema in modo molto affidabile con i file di test EverLove e AftrMdnt a cui ti sei collegato. Non riesco a suonare più di 20 secondi senza che il sintetizzatore si blocchi (le note vengono lasciate sospese, non vengono inviati neanche i nuovi comandi noteon). Il problema sembra verificarsi a caso. – Ben