Module java.desktop
Package javax.sound.midi.spi

# Class SoundbankReader

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

public abstract class SoundbankReader extends Object
A `SoundbankReader` supplies soundbank file-reading services. Concrete subclasses of `SoundbankReader` parse a given soundbank file, producing a `Soundbank` object that can be loaded into a `Synthesizer`.

Since:
  1.3

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SoundbankReader()`
Constructor for subclasses to call.

## Method Summary

Modifier and Type
Method
Description
`abstract Soundbank`
`getSoundbank(File file)`
Obtains a soundbank object from the `File` provided.
`abstract Soundbank`
`getSoundbank(InputStream stream)`
Obtains a soundbank object from the `InputStream` provided.
`abstract Soundbank`
`getSoundbank(URL url)`
Obtains a soundbank object from the `URL` provided.

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SoundbankReader

protected SoundbankReader()
Constructor for subclasses to call.

## Method Details

### getSoundbank

public abstract Soundbank getSoundbank(URL url) throws InvalidMidiDataException, IOException
Obtains a soundbank object from the `URL` provided.

Parameters:
  `url` - `URL` representing the soundbank
Returns:
  soundbank object
Throws:
  `InvalidMidiDataException` - if the `URL` does not point to valid MIDI soundbank data recognized by this soundbank reader
  `IOException` - if an I/O error occurs
  `NullPointerException` - if `url` is `null`

### getSoundbank

public abstract Soundbank getSoundbank(InputStream stream) throws InvalidMidiDataException, IOException
Obtains a soundbank object from the `InputStream` provided.

Parameters:
  `stream` - `InputStream` representing the soundbank
Returns:
  soundbank object
Throws:
  `InvalidMidiDataException` - if the stream does not point to valid MIDI soundbank data recognized by this soundbank reader
  `IOException` - if an I/O error occurs
  `NullPointerException` - if `stream` is `null`

### getSoundbank

public abstract Soundbank getSoundbank(File file) throws InvalidMidiDataException, IOException
Obtains a soundbank object from the `File` provided.

Parameters:
  `file` - the `File` representing the soundbank
Returns:
  soundbank object
Throws:
  `InvalidMidiDataException` - if the file does not point to valid MIDI soundbank data recognized by this soundbank reader
  `IOException` - if an I/O error occurs
  `NullPointerException` - if `file` is `null`