Ciao a tutti mi sono inchiodato su un problema che sicuramente è una cretinata:

ho creato un riproduttore di file midi, riesco a far partire il brano, ma non riesco a stopparlo:

bottone play

codice:
bPlay.addActionListener(new ActionListener() { 
               public void actionPerformed(ActionEvent arg0) { 
                       Player player = new Player(); 
                       player.getSequence(selectedFile); 
              } 
});
carico il sequence e richiamo Play();

codice:
public Sequence getSequence(File sound){ 
            try { 
                 sequence = MidiSystem.getSequence(sound); 
                 Play(sequence); 
                 return sequence; 
           } catch (InvalidMidiDataException e) { 
                 e.printStackTrace(); return null; 
           } catch (IOException e) { 
                 e.printStackTrace(); 
                 return null; 
           } 
}

codice:
public void Play (Sequence sequence){ 
          if (sequencer != null && sequence != null && sequencer.isOpen()) { 
          try { 
                  sequencer.setSequence(sequence); 
                  sequencer.start(); 
          } catch (InvalidMidiDataException ex) { 
                  ex.printStackTrace(); } 
          } 
}
il bottone stop
codice:
bStop.addActionListener(new ActionListener() {  
              public void actionPerformed(ActionEvent e) { 
                    Player player = new Player(); 
                    player.Stop(); 
              } 
});

codice:
public void Stop(){ 
              if (!sequencer.isRunning() && sequencer.isOpen()){ 
                 sequencer.stop(); 
                 sequencer.setMicrosecondPosition(0); 
                 sequencer.close(); 
              } 
}
Dove sbaglio?