javax.sound.midi.spi

java.lang.Object
  继承者 javax.sound.midi.spi.MidiFileReader

public abstract class MidiFileReader
     
extends Object

MidiFileReader 提供 MIDI 文件读取服务。实现此接口的类可从一种或多种类型的 MIDI 文件解析格式信息,并可从这些类型的文件生成 Sequence 对象。

从以下版本开始:
1.3

构造方法摘要
MidiFileReader()
           
 
方法摘要
abstract  MidiFileFormat getMidiFileFormat(File file)
          获得提供的 File 的 MIDI 文件格式。
abstract  MidiFileFormat getMidiFileFormat(InputStream stream)
          获得所提供的输入流的 MIDI 文件格式。
abstract  MidiFileFormat getMidiFileFormat(URL url)
          获得提供的 URL 的 MIDI 文件格式。
abstract  Sequence getSequence(File file)
          从提供的 File 获得 MIDI 序列。
abstract  Sequence getSequence(InputStream stream)
          从提供的输入流获得 MIDI 序列。
abstract  Sequence getSequence(URL url)
          从提供的 URL 获得 MIDI 序列。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

MidiFileReader

public MidiFileReader()
方法详细信息

getMidiFileFormat

public abstract MidiFileFormat getMidiFileFormat(InputStream stream)
                                          throws InvalidMidiDataException,
                                                 IOException
获得所提供的输入流的 MIDI 文件格式。流必须指向有效的 MIDI 文件数据。通常,MIDI 文件 reader 可能需要在确定它们是否支持流之前从中读取一些数据。这些解析器必须能够标记流,读取足够多的数据来确定它们是否支持流,并且如果不支持,则将流的阅读指针重新设置到其初始位置。如果输入流不支持此操作,则此方法可能会失败,并抛出 IOException

参数:
stream - 应该从中提取文件格式信息的输入流
返回:
描述 MIDI 文件格式的 MidiFileFormat 对象
抛出:
InvalidMidiDataException - 如果流没有指向系统识别的有效 MIDI 文件数据
IOException - 如果发生 I/O 异常
另请参见:
InputStream.markSupported(), InputStream.mark(int)

getMidiFileFormat

public abstract MidiFileFormat getMidiFileFormat(URL url)
                                          throws InvalidMidiDataException,
                                                 IOException
获得提供的 URL 的 MIDI 文件格式。URL 必须指向有效的 MIDI 文件数据。

参数:
url - 应该从中提取文件格式信息的 URL
返回:
描述 MIDI 文件格式的 MidiFileFormat 对象
抛出:
InvalidMidiDataException - 如果 URL 没有指向系统识别的有效 MIDI 文件数据
IOException - 如果发生 I/O 异常

getMidiFileFormat

public abstract MidiFileFormat getMidiFileFormat(File file)
                                          throws InvalidMidiDataException,
                                                 IOException
获得提供的 File 的 MIDI 文件格式。 File 必须指向有效的 MIDI 文件数据。

参数:
file - 应该从中提取文件格式信息的 File
返回:
描述 MIDI 文件格式的 MidiFileFormat 对象
抛出:
InvalidMidiDataException - 如果 File 没有指向系统识别的有效 MIDI 文件数据
IOException - 如果发生 I/O 异常

getSequence

public abstract Sequence getSequence(InputStream stream)
                              throws InvalidMidiDataException,
                                     IOException
从提供的输入流获得 MIDI 序列。流必须指向有效的 MIDI 文件数据。通常,MIDI 文件 reader 可能需要在确定它们是否支持流之前从中读取一些数据。这些解析器必须能够标记流,读取足够多的数据来确定它们是否支持流,并且如果不支持,则将流的阅读指针重新设置到其初始位置。如果输入流不支持此操作,则此方法可能会失败,并抛出 IOException。

参数:
stream - 应该从中构造 Sequence 的输入流
返回:
基于包含在输入流中的 MIDI 文件数据的 Sequence 对象。
抛出:
InvalidMidiDataException - 如果该流没有指向系统识别的有效 MIDI 文件数据
IOException - 如果发生 I/O 异常
另请参见:
InputStream.markSupported(), InputStream.mark(int)

getSequence

public abstract Sequence getSequence(URL url)
                              throws InvalidMidiDataException,
                                     IOException
从提供的 URL 获得 MIDI 序列。URL 必须指向有效的 MIDI 文件数据。

参数:
url - 应该为其构造 Sequence 的 URL
返回:
基于由 URL 指向的 MIDI 文件数据的 Sequence 对象
抛出:
InvalidMidiDataException - 如果 URL 没有指向系统识别的有效 MIDI 文件数据
IOException - 如果发生 I/O 异常

getSequence

public abstract Sequence getSequence(File file)
                              throws InvalidMidiDataException,
                                     IOException
从提供的 File 获得 MIDI 序列。 File 必须指向有效的 MIDI 文件数据。

参数:
file - 应该从中构造 SequenceFile
返回:
基于由 File 指向的 MIDI 文件数据的 Sequence 对象
抛出:
InvalidMidiDataException - 如果 File 没有指向系统识别的有效 MIDI 文件数据
IOException - 如果发生 I/O 异常