Module java.desktop
Package javax.sound.midi
package javax.sound.midi
提供用于处理MIDI(音乐设备数字接口)数据的I/O、序列和合成的接口和类。
相关文档
有关使用Java Sound的更多信息,请参阅: 请注意:在javax.sound.midi
API中,除非在方法上明确记录了对null
引用参数具有有意义的解释,否则将其视为不正确。相反的用法是错误的编码,可能会导致立即或以后某个时间发生运行时异常。对于这种情况,NullPointerException
是典型且可接受的运行时异常的一个例子。
- 自版本:
- 1.3
-
ClassDescription应该由需要在
Sequencer
处理请求的MIDI控制变化事件时通知其实例的类来实现ControllerEventListener
接口。乐器是具有特定参数设置的声音合成算法,通常设计用于模拟特定的真实世界乐器或实现特定的声音效果。InvalidMidiDataException
表示遇到不适当的MIDI数据。应该由需要在Sequencer
处理MetaMessage
时通知其实例的类来实现MetaEventListener
接口。MetaMessage
是一个对合成器没有意义的MidiMessage
,但可以存储在MIDI文件中,并由一个序列程序解释。一个MidiChannel
对象表示一个单独的MIDI通道。MidiDevice
是所有MIDI设备的基本接口。MidiDevice.Info
对象包含有关MidiDevice
的各种数据,包括其名称、创建者公司和描述性文本。MIDI事件包含一个以tick表示的时间戳和一个对应的MIDI消息,可以表示存储在MIDI文件或Sequence
对象中的MIDI事件信息。MidiFileFormat
对象封装了MIDI文件的类型,以及其长度和时间信息。MidiMessage
是MIDI消息的基类。MidiSystem
类提供对已安装的MIDI系统资源的访问,包括合成器、序列器和MIDI输入输出端口等设备。当无法打开或创建请求的MIDI组件时,会抛出MidiUnavailableException
。Patch
对象表示MIDI合成器中存储(加载)单个乐器的位置。Receiver
接收MidiEvent
对象,并通常会对其做出有用的响应,例如解释它们以生成声音或原始MIDI输出。Sequence
是一个包含音乐信息(通常是整首歌曲或作品)的数据结构,可以由Sequencer
对象播放。播放MIDIsequence
的硬件或软件设备称为序列器。SyncMode
对象表示MIDI序列器的时间概念如何与主设备或从设备同步的一种方式。ShortMessage
包含一个状态字节后最多两个数据字节的MIDI消息。Soundbank
包含可以加载到Synthesizer
中的一组Instruments
。SoundbankResource
表示存储在Soundbank
中的任何音频资源。Synthesizer
生成声音。SysexMessage
对象表示一个MIDI系统专用消息。MIDI轨道是独立的MIDI事件流(带时间戳的MIDI数据),可以与标准MIDI文件中的其他轨道一起存储。VoiceStatus
对象包含有关由Synthesizer
产生的一个声音的当前状态的信息。