javax.sound.midi.MetaMessage@73db12e6
-18137-9532javax.sound.midi.MetaMessage@33b5f576
-130javax.sound.midi.MetaMessage@6f06307f
-1884427-95javax.sound.midi.Track$ImmutableEndOfTrack@7f5a1aca
-1470
Track[] tracks = midiPlayer.musicaMidi.getTracks();
Track pista1=tracks[0];
for(int i=0;i<pista1.size();i++){
MidiEvent eventoMidi=pista1.get(i);
MidiMessage mensagemMidi=eventoMidi.getMessage();
System.out.println(mensagemMidi.toString());
byte[] message = mensagemMidi.getMessage();
for(int k=0;k<message.length;k++){
System.out.print(message[k]);
}
}
Alguem ja trabalhou com algo parecido e saberia dizer qual é o próximo passo?
Eis o código do meu midiPlayer:/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package MidiPlayer;
import java.io.File;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.Sequence;
import javax.sound.midi.Sequencer;
import javax.swing.JOptionPane;
public class MidiPlayer {
// Define a URL onde está o MIDI
File metallicaURL;
Sequence musicaMidi;
// Obtém o sequenciador MIDI que tocará a música
Sequencer sequenciador;
public MidiPlayer() {
}
public void criarPlayer(File arquivoMidi){
try{
metallicaURL = arquivoMidi;
musicaMidi = MidiSystem.getSequence(metallicaURL);
// Obtém o sequenciador MIDI que tocará a música
sequenciador = MidiSystem.getSequencer();
// Abre o sequenciador
sequenciador.open();
// Seta a música que queremos tocar nos equenciador
sequenciador.setSequence(musicaMidi);
// Abre o sequenciador
sequenciador.open();
// Seta a música que queremos tocar nos equenciador
sequenciador.setSequence(musicaMidi);
}catch(Exception e){
JOptionPane.showMessageDialog(null, e.getLocalizedMessage());
}
}
public void play(){
sequenciador.start();
}
public void pause(){
sequenciador.stop();
}
public void stop(){
sequenciador.stop();
sequenciador.setMicrosecondPosition(0);
}
public long posicaoMaximaDoPlayer(){
return sequenciador.getMicrosecondLength();
}
public long posicaoAtualDoPlayer(){
return sequenciador.getMicrosecondPosition();
}
public boolean estaTocando(){
return sequenciador.isRunning();
}
public void fecharPlayer(){
if(sequenciador!=null){
sequenciador.close();
}
}
}