Module java.desktop

Class MidiFileReader

java.lang.Object
javax.sound.midi.spi.MidiFileReader

public abstract class MidiFileReader
extends Object
A MidiFileReader supplies MIDI file-reading services. Classes implementing this interface can parse the format information from one or more types of MIDI file, and can produce a Sequence object from files of these types.
Since:
1.3
  • Constructor Details

    • MidiFileReader

      public MidiFileReader()
  • Method Details

    • getMidiFileFormat

      public abstract MidiFileFormat getMidiFileFormat​(InputStream stream) throws InvalidMidiDataException, IOException
      Obtains the MIDI file format of the input stream provided. The stream must point to valid MIDI file data. In general, MIDI file readers may need to read some data from the stream before determining whether they support it. These parsers must be able to mark the stream, read enough data to determine whether they support the stream, and, if not, reset the stream's read pointer to its original position. If the input stream does not support this, this method may fail with an IOException.
      Parameters:
      stream - the input stream from which file format information should be extracted
      Returns:
      a MidiFileFormat object describing the MIDI file format
      Throws:
      InvalidMidiDataException - if the stream does not point to valid MIDI file data recognized by the system
      IOException - if an I/O exception occurs
      NullPointerException - if stream is null
      See Also:
      InputStream.markSupported(), InputStream.mark(int)
    • getMidiFileFormat

      public abstract MidiFileFormat getMidiFileFormat​(URL url) throws InvalidMidiDataException, IOException
      Obtains the MIDI file format of the URL provided. The URL must point to valid MIDI file data.
      Parameters:
      url - the URL from which file format information should be extracted
      Returns:
      a MidiFileFormat object describing the MIDI file format
      Throws:
      InvalidMidiDataException - if the URL does not point to valid MIDI file data recognized by the system
      IOException - if an I/O exception occurs
      NullPointerException - if url is null
    • getMidiFileFormat

      public abstract MidiFileFormat getMidiFileFormat​(File file) throws InvalidMidiDataException, IOException
      Obtains the MIDI file format of the File provided. The File must point to valid MIDI file data.
      Parameters:
      file - the File from which file format information should be extracted
      Returns:
      a MidiFileFormat object describing the MIDI file format
      Throws:
      InvalidMidiDataException - if the File does not point to valid MIDI file data recognized by the system
      IOException - if an I/O exception occurs
      NullPointerException - if file is null
    • getSequence

      public abstract Sequence getSequence​(InputStream stream) throws InvalidMidiDataException, IOException
      Obtains a MIDI sequence from the input stream provided. The stream must point to valid MIDI file data. In general, MIDI file readers may need to read some data from the stream before determining whether they support it. These parsers must be able to mark the stream, read enough data to determine whether they support the stream, and, if not, reset the stream's read pointer to its original position. If the input stream does not support this, this method may fail with an IOException.
      Parameters:
      stream - the input stream from which the Sequence should be constructed
      Returns:
      a Sequence object based on the MIDI file data contained in the input stream
      Throws:
      InvalidMidiDataException - if the stream does not point to valid MIDI file data recognized by the system
      IOException - if an I/O exception occurs
      NullPointerException - if stream is null
      See Also:
      InputStream.markSupported(), InputStream.mark(int)
    • getSequence

      public abstract Sequence getSequence​(URL url) throws InvalidMidiDataException, IOException
      Obtains a MIDI sequence from the URL provided. The URL must point to valid MIDI file data.
      Parameters:
      url - the URL for which the Sequence should be constructed
      Returns:
      a Sequence object based on the MIDI file data pointed to by the URL
      Throws:
      InvalidMidiDataException - if the URL does not point to valid MIDI file data recognized by the system
      IOException - if an I/O exception occurs
      NullPointerException - if url is null
    • getSequence

      public abstract Sequence getSequence​(File file) throws InvalidMidiDataException, IOException
      Obtains a MIDI sequence from the File provided. The File must point to valid MIDI file data.
      Parameters:
      file - the File from which the Sequence should be constructed
      Returns:
      a Sequence object based on the MIDI file data pointed to by the File
      Throws:
      InvalidMidiDataException - if the File does not point to valid MIDI file data recognized by the system
      IOException - if an I/O exception occurs
      NullPointerException - if file is null