esse é o programa…
deem uma olhada…
[b]package jplayer;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.io.;
import java.awt.;
import java.awt.event.;
[b]import javax.swing.;
import javax.sound.midi.*;
public class JPlayer extends JFrame {
private JTextField jtCaminho = new JTextField(15);
private JButton jbSetCam = new JButton("Abrir");
private JButton jbPlay = new JButton("play/pause");
private JLabel lblInfo = new JLabel("info: ");
private boolean play = true;
public JPlayer(){
super("JPlayer");
Container c = getContentPane();
c.setLayout( new FlowLayout() );
c.add( new JLabel("Caminho: ") );
c.add( jtCaminho );
jbSetCam.addActionListener ( new ActionListener() {
public void actionPerformed ( ActionEvent e ){
Abrir() ;
} } ) ;
c.add( jbSetCam );
jbPlay.addActionListener ( new ActionListener() {
public void actionPerformed ( ActionEvent e ){
plays( jtCaminho.getText() ) ;
} } ) ;
c.add( jbPlay );
c.add( lblInfo );
setVisible( true );
setDefaultCloseOperation( EXIT_ON_CLOSE );
setSize( 300, 100 );
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void plays(String caminho ){
try {
Sequence sequence = MidiSystem.getSequence( new File(caminho) );
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
if ( play ){
sequencer.setSequence( sequence );
sequencer.start();
//mostra o tempo total do arquivo MIDI em microsegundos.
lblInfo.setText( "Info: " + sequencer.getMicrosecondLength() + " MSegs" );
play = false ;
} else {
sequencer.stop(); //pausa o dispositivo.
play = true ;
}
}catch( Exception e ){
System.out.println( e.toString() );
}
}
public void Abrir() {
JFileChooser escolha = new JFileChooser();
escolha.setFileSelectionMode( JFileChooser.FILES_ONLY );
escolha.showOpenDialog(this);
jtCaminho.setText( escolha.getSelectedFile().toString() );
}
public static void main( String[] args ){
JPlayer jp = new JPlayer();
jp.show();
}
private void jbInit() throws Exception {
}
}[/b]
o erro que aparece é esse…
javax.sound.midi.InvalidMidiDataException: could not get sequence from file