Ciao a tutti,
da un paio di giorni mi sto imbattendo nelle api "javax.sound.midi" perchè creare e manipolare file midi mi interesserebbe davvero molto.
Ho letto molte guide e articoli su questo argomento, ma mi sono imbattutto in questo errore:
"javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available"

La cosa che più mi fa impazzire è che il codice che ho usato fa parte di un Tutorial ...
Di seguito il codice:
Codice PHP:

package provamidi
;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sound.midi.*;

public class 
IBM_Esempio1 {
    private 
Sequencer sequencer;

    public 
IBM_Esempio1(){
        try {
//definisco l'oggetto sequencer
             
sequencer MidiSystem.getSequencer();
             
sequencer.open();
        } catch (
MidiUnavailableException ex) {
            
Logger.getLogger(IBM_Esempio1.class.getName()).log(Level.SEVEREnullex);
        }
//creo un file da un percorso assoluto
        
File file= new File ("C:\\music1.midi");
        try {
//setto la sequenza per il sequencer
            
sequencer.setSequence(MidiSystem.getSequence(file));
        } catch (
InvalidMidiDataException ex) {
            
Logger.getLogger(IBM_Esempio1.class.getName()).log(Level.SEVEREnullex);
        } catch (
IOException ex) {
            
Logger.getLogger(IBM_Esempio1.class.getName()).log(Level.SEVEREnullex);
        }
//faccio partire il sequencer
        
sequencer.start();


    }
//questo codice, come dice il tutorial, dovrebbe catturare l'evento legato allo stream..???

    
public void meta(MetaMessage event){
        if(
event.getType()==47){ // 47 significa che è finito lo stream
            
sequencer.stop();
            
sequencer.close();
        }
    }

    public static 
void main(String args[]){
        new 
IBM_Esempio1();
        
    }

Ecco invece cosa mi riporta il Debug:
Codice PHP:
29-mar-2009 20.15.14 provamidi.IBM_Esempio1 <init>
GRAVEnull
javax
.sound.midi.MidiUnavailableExceptionMIDI OUT transmitter not available
        at com
.sun.media.sound.AbstractMidiDevice.createTransmitter(AbstractMidiDevice.java:444)
        
at com.sun.media.sound.AbstractMidiDevice.getTransmitter(AbstractMidiDevice.java:299)
        
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:451)
        
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:348)
        
at provamidi.IBM_Esempio1.<init>(IBM_Esempio1.java:23)
        
at provamidi.IBM_Esempio1.main(IBM_Esempio1.java:50)
Exception in thread "main" java.lang.NullPointerException
        at provamidi
.IBM_Esempio1.<init>(IBM_Esempio1.java:30)
        
at provamidi.IBM_Esempio1.main(IBM_Esempio1.java:50)
Java Result
Non capisco il problema da cosa scaturisca essendo materia nuova per me, ma sarei grato se qualche buon'anima possa illuminarmi perchè è sempre bello imparare!