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
carico il sequence e richiamo Play();codice:bPlay.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { Player player = new Player(); player.getSequence(selectedFile); } });
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; } }
il bottone stopcodice:public void Play (Sequence sequence){ if (sequencer != null && sequence != null && sequencer.isOpen()) { try { sequencer.setSequence(sequence); sequencer.start(); } catch (InvalidMidiDataException ex) { ex.printStackTrace(); } } }
codice:bStop.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Player player = new Player(); player.Stop(); } });
Dove sbaglio?codice:public void Stop(){ if (!sequencer.isRunning() && sequencer.isOpen()){ sequencer.stop(); sequencer.setMicrosecondPosition(0); sequencer.close(); } }

Rispondi quotando
]
