javax.sound.midi
Class MidiSystem

java.lang.Object
  extended by javax.sound.midi.MidiSystem

public class MidiSystem
extends Object

MidiSystem provides access to the computer system's MIDI resources, as well as utility routines for reading MIDI files and more.

Since:
1.3

Method Summary
static MidiDevice getMidiDevice(MidiDevice.Info info)
          Get the specified MIDI device.
static MidiDevice.Info[] getMidiDeviceInfo()
          Get an array of all available MIDI devices.
static MidiFileFormat getMidiFileFormat(File file)
          Read a MidiFileFormat object from the given file.
static MidiFileFormat getMidiFileFormat(InputStream stream)
          Read a MidiFileFormat object from the given stream.
static MidiFileFormat getMidiFileFormat(URL url)
          Read a MidiFileFormat object from the given url.
static int[] getMidiFileTypes()
          Return an array of supported MIDI file types on this system.
static int[] getMidiFileTypes(Sequence sequence)
          Return an array of supported MIDI file types on this system for the given sequnce.
static Receiver getReceiver()
          Get the default Receiver instance.
static Sequence getSequence(File file)
          Read a Sequence object from the given file.
static Sequence getSequence(InputStream stream)
          Read a Sequence object from the given stream.
static Sequence getSequence(URL url)
          Read a Sequence object from the given url.
static Sequencer getSequencer()
          Get the default Sequencer instance.
static Soundbank getSoundbank(File file)
          Read a Soundbank object from the given file.
static Soundbank getSoundbank(InputStream stream)
          Read a Soundbank object from the given stream.
static Soundbank getSoundbank(URL url)
          Read a Soundbank object from the given url.
static Synthesizer getSynthesizer()
          Get the default Synthesizer instance.
static Transmitter getTransmitter()
          Get the default Transmitter instance.
static boolean isFileTypeSupported(int fileType)
          Return true if the system supports writing files of type fileType.
static boolean isFileTypeSupported(int fileType, Sequence sequence)
          Return true if the system supports writing files of type fileType for the given sequence.
static int write(Sequence in, int fileType, File out)
          Write a sequence to a file using a specific MIDI file format.
static int write(Sequence in, int fileType, OutputStream out)
          Write a sequence to an output stream using a specific MIDI file format.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getMidiDeviceInfo

public static MidiDevice.Info[] getMidiDeviceInfo()
Get an array of all available MIDI devices.

Returns:
a possibly empty array of all available MIDI devices

getMidiDevice

public static MidiDevice getMidiDevice(MidiDevice.Info info)
                                throws MidiUnavailableException
Get the specified MIDI device.

Parameters:
info - a description of the device we're looking for
Returns:
the requested MIDI device
Throws:
MidiUnavailableException - if no MIDI devices are configured or found
IllegalArgumentException - if the device described by info is not found

getReceiver

public static Receiver getReceiver()
                            throws MidiUnavailableException
Get the default Receiver instance. This just picks the first one it finds for now.

Returns:
the default Receiver instance
Throws:
MidiUnavailableException - if no Receiver is found

getTransmitter

public static Transmitter getTransmitter()
                                  throws MidiUnavailableException
Get the default Transmitter instance. This just picks the first one it finds for now.

Returns:
the default Transmitter instance
Throws:
MidiUnavailableException - if no Transmitter is found

getSynthesizer

public static Synthesizer getSynthesizer()
                                  throws MidiUnavailableException
Get the default Synthesizer instance. This just picks the first one it finds for now.

Returns:
the default Synthesizer instance
Throws:
MidiUnavailableException - if no Synthesizer is found

getSequencer

public static Sequencer getSequencer()
                              throws MidiUnavailableException
Get the default Sequencer instance. This just picks the first one it finds for now.

Returns:
the default Sequencer instance
Throws:
MidiUnavailableException - if no Sequencer is found

getSoundbank

public static Soundbank getSoundbank(InputStream stream)
                              throws InvalidMidiDataException,
                                     IOException
Read a Soundbank object from the given stream.

Parameters:
stream - the stream from which to read the Soundbank
Returns:
the Soundbank object
Throws:
InvalidMidiDataException - if we were unable to read the soundbank
IOException - if an I/O error happened while reading

getSoundbank

public static Soundbank getSoundbank(URL url)
                              throws InvalidMidiDataException,
                                     IOException
Read a Soundbank object from the given url.

Parameters:
url - the url from which to read the Soundbank
Returns:
the Soundbank object
Throws:
InvalidMidiDataException - if we were unable to read the soundbank
IOException - if an I/O error happened while reading

getSoundbank

public static Soundbank getSoundbank(File file)
                              throws InvalidMidiDataException,
                                     IOException
Read a Soundbank object from the given file.

Parameters:
file - the file from which to read the Soundbank
Returns:
the Soundbank object
Throws:
InvalidMidiDataException - if we were unable to read the soundbank
IOException - if an I/O error happened while reading

getMidiFileFormat

public static MidiFileFormat getMidiFileFormat(InputStream stream)
                                        throws InvalidMidiDataException,
                                               IOException
Read a MidiFileFormat object from the given stream.

Parameters:
stream - the stream from which to read the MidiFileFormat
Returns:
the MidiFileFormat object
Throws:
InvalidMidiDataException - if we were unable to read the MidiFileFormat
IOException - if an I/O error happened while reading

getMidiFileFormat

public static MidiFileFormat getMidiFileFormat(URL url)
                                        throws InvalidMidiDataException,
                                               IOException
Read a MidiFileFormat object from the given url.

Parameters:
url - the url from which to read the MidiFileFormat
Returns:
the MidiFileFormat object
Throws:
InvalidMidiDataException - if we were unable to read the MidiFileFormat
IOException - if an I/O error happened while reading

getMidiFileFormat

public static MidiFileFormat getMidiFileFormat(File file)
                                        throws InvalidMidiDataException,
                                               IOException
Read a MidiFileFormat object from the given file.

Parameters:
file - the file from which to read the MidiFileFormat
Returns:
the MidiFileFormat object
Throws:
InvalidMidiDataException - if we were unable to read the MidiFileFormat
IOException - if an I/O error happened while reading

getSequence

public static Sequence getSequence(InputStream stream)
                            throws InvalidMidiDataException,
                                   IOException
Read a Sequence object from the given stream.

Parameters:
stream - the stream from which to read the Sequence
Returns:
the Sequence object
Throws:
InvalidMidiDataException - if we were unable to read the Sequence
IOException - if an I/O error happened while reading

getSequence

public static Sequence getSequence(URL url)
                            throws InvalidMidiDataException,
                                   IOException
Read a Sequence object from the given url.

Parameters:
url - the url from which to read the Sequence
Returns:
the Sequence object
Throws:
InvalidMidiDataException - if we were unable to read the Sequence
IOException - if an I/O error happened while reading

getSequence

public static Sequence getSequence(File file)
                            throws InvalidMidiDataException,
                                   IOException
Read a Sequence object from the given file.

Parameters:
file - the file from which to read the Sequence
Returns:
the Sequence object
Throws:
InvalidMidiDataException - if we were unable to read the Sequence
IOException - if an I/O error happened while reading

getMidiFileTypes

public static int[] getMidiFileTypes()
Return an array of supported MIDI file types on this system.

Returns:
the array of supported MIDI file types

isFileTypeSupported

public static boolean isFileTypeSupported(int fileType)
Return true if the system supports writing files of type fileType.

Parameters:
fileType - the MIDI file type we want to write
Returns:
true if we can write fileType files, false otherwise

getMidiFileTypes

public static int[] getMidiFileTypes(Sequence sequence)
Return an array of supported MIDI file types on this system for the given sequnce.

Parameters:
sequence - the sequnce to write
Returns:
the array of supported MIDI file types

isFileTypeSupported

public static boolean isFileTypeSupported(int fileType,
                                          Sequence sequence)
Return true if the system supports writing files of type fileType for the given sequence.

Parameters:
fileType - the MIDI file type we want to write
sequence - the Sequence we want to write
Returns:
true if we can write fileType files for sequence, false otherwise

write

public static int write(Sequence in,
                        int fileType,
                        OutputStream out)
                 throws IOException
Write a sequence to an output stream using a specific MIDI file format.

Parameters:
in - the sequence to write
fileType - the MIDI file format to use
out - the output stream to write to
Returns:
the number of bytes written
Throws:
IOException - if an I/O exception happens
IllegalArgumentException - if fileType is not supported for in

write

public static int write(Sequence in,
                        int fileType,
                        File out)
                 throws IOException
Write a sequence to a file using a specific MIDI file format.

Parameters:
in - the sequence to write
fileType - the MIDI file format to use
out - the file to write to
Returns:
the number of bytes written
Throws:
IOException - if an I/O exception happens
IllegalArgumentException - if fileType is not supported for in