java.lang.Object javax.sound.midi.Patch
public class Patch
一个 Patch
对象,用于表示 MIDI 合成器上的某个位置,其中存储(加载)了单个乐器。每个 Instrument
对象都有其自己的 Patch
对象,它指定了乐器应加载到的内存位置。该位置由一个库索引和一个程序号抽象指定(而不是通过任何直接引用 RAM 的具体地址或偏移量的机制指定)。这是一种层次化索引机制:MIDI 提供多达 16384 个库,每个库包含多达 128 个程序位置。例如,最小类型的合成器可能只有一个乐器库,该库中只有 32 种乐器(程序)。
要选择演奏特定 MIDI 通道上的音符所使用的乐器,可使用两种指定包位置 MIDI 消息:一个是库选择命令,一个是程序更改通道命令。等效的 Java Sound 为 MidiChannel
的 programChange(int, int)
方法。
Instrument
,
Instrument.getPatch()
,
MidiChannel.programChange(int, int)
,
Synthesizer.loadInstruments(Soundbank, Patch[])
,
Soundbank
,
Sequence.getPatchList()
构造方法摘要 | |
---|---|
Patch(int bank, int program) 从指定的库和程序号构造一个新的 patch 对象。 |
方法摘要 | |
---|---|
int |
getBank() 返回包含该 Patch 指定其位置乐器的库的号码。 |
int |
getProgram() 返回该 Patch 指定其位置的乐器在库中的索引号。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public Patch(int bank, int program)
bank
- 库索引(范围从 0 到 16383)
program
- 程序索引(范围从 0 到 127)
方法详细信息 |
---|
public int getBank()
Patch
指定其位置乐器的库的号码。
MidiChannel.programChange(int, int)
public int getProgram()
Patch
指定其位置的乐器在库中的索引号。
MidiChannel.getProgram()
,
MidiChannel.programChange(int)
,
MidiChannel.programChange(int, int)