- java.lang.Object
-
- javax.sound.midi.Sequence
-
public class Sequence extends Object
ASequence是包含可由Sequencer对象重放的音乐信息(通常是整个歌曲或作曲)的数据结构。 具体来说,Sequence包含定时信息和一个或多个轨道。 每个track包括一系列MIDI事件(如音符,音符,程序更改和元事件)。 序列的时序信息指定用于对序列中的事件进行时间戳的单位类型。甲
Sequence可以从MIDI文件通过文件读入的输入流和调用的一个来创建getSequence的方法MidiSystem。 还可以通过将新的Tracks添加到一个空的Sequence,并将MidiEvent对象添加到这些Tracks,从而构建Tracks。
-
-
Field Summary
Fields Modifier and Type Field 描述 protected floatdivisionType序列的时序分割类型。static floatPPQ基于节拍的时间类型,其分辨率以每四分之一音符的脉冲(刻度)表示。protected intresolution序列的时序分辨率。static floatSMPTE_24基于SMPTE的定时类型,每秒24帧(分辨率以帧为单位表示)。static floatSMPTE_25基于SMPTE的定时类型,每秒25帧(分辨率以帧为单位表示)。static floatSMPTE_30基于SMPTE的定时类型,每秒30帧(分辨率以帧为单位表示)。static floatSMPTE_30DROP基于SMPTE的定时类型,每秒29.97帧(分辨率以帧为单位表示)。protected Vector<Track>tracksMIDI序列中的MIDI轨迹。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 TrackcreateTrack()创建一个新的,最初的空轨,作为这个序列的一部分。booleandeleteTrack(Track track)从序列中删除指定的轨迹。floatgetDivisionType()获取此序列的时序分割类型。longgetMicrosecondLength()获得此序列的持续时间,以微秒表示。Patch[]getPatchList()获取此序列中引用的修补程序列表。intgetResolution()获取此序列的时序分辨率。longgetTickLength()获取此序列的持续时间,以MIDI刻度表示。Track[]getTracks()获取包含此序列中所有曲目的数组。
-
-
-
字段详细信息
-
PPQ
public static final float PPQ
基于节拍的时间类型,其分辨率以每四分之一音符的脉冲(刻度)表示。
-
SMPTE_24
public static final float SMPTE_24
基于SMPTE的定时类型,每秒24帧(分辨率以帧为单位表示)。
-
SMPTE_25
public static final float SMPTE_25
基于SMPTE的定时类型,每秒25帧(分辨率以帧为单位表示)。
-
SMPTE_30DROP
public static final float SMPTE_30DROP
基于SMPTE的定时类型,每秒29.97帧(分辨率以帧为单位表示)。
-
SMPTE_30
public static final float SMPTE_30
基于SMPTE的定时类型,每秒30帧(分辨率以帧为单位表示)。
-
divisionType
protected float divisionType
序列的时序分割类型。- 另请参见:
-
PPQ,SMPTE_24,SMPTE_25,SMPTE_30DROP,SMPTE_30,getDivisionType()
-
resolution
protected int resolution
序列的时序分辨率。- 另请参见:
-
getResolution()
-
tracks
protected Vector<Track> tracks
MIDI序列中的MIDI轨迹。- 另请参见:
-
getTracks()
-
-
构造方法详细信息
-
Sequence
public Sequence(float divisionType, int resolution) throws InvalidMidiDataException构造具有指定的时序分割类型和时序分辨率的新MIDI序列。 分割类型必须是公认的MIDI时序类型之一。 对于基于速度的时间,divisionType是PPQ(每四分之一个音符的脉冲),分辨率以每搏输出指定。 对于SMTPE计时,divisionType指定每秒钟的帧数,分辨率以帧为单位指定。 该序列将不包含初始轨迹。 可以使用createTrack()和deleteTrack(javax.sound.midi.Track)将轨迹添加到序列中或从序列中删除。- 参数
-
divisionType- 时序分割类型(PPQ或SMPTE类型之一) -
resolution- 时序分辨率 - 异常
-
InvalidMidiDataException- 如果divisionType无效 - 另请参见:
-
PPQ,SMPTE_24,SMPTE_25,SMPTE_30DROP,SMPTE_30,getDivisionType(),getResolution(),getTracks()
-
Sequence
public Sequence(float divisionType, int resolution, int numTracks) throws InvalidMidiDataException构造一个具有指定的时序分割类型,时序分辨率和轨道数的新MIDI序列。 分割类型必须是公认的MIDI时序类型之一。 对于基于节拍的时间,divisionType是PPQ(每四分之一个音符的脉冲),分辨率以每搏输出指定。 对于SMTPE定时,divisionType指定每秒钟的帧数,分辨率以帧为单位指定。 该序列将使用numTracks指定的曲目数进行初始化。 这些曲目最初是空的(即它们只包含元事件结束曲目)。 可以使用getTracks()方法检索轨道进行编辑。 可以使用createTrack()和deleteTrack(javax.sound.midi.Track)添加其他曲目,或删除现有曲目。- 参数
-
divisionType- 时序分割类型(PPQ或SMPTE类型之一) -
resolution- 时序分辨率 -
numTracks- 序列中初始轨道数 - 异常
-
InvalidMidiDataException- 如果divisionType无效 - 另请参见:
-
PPQ,SMPTE_24,SMPTE_25,SMPTE_30DROP,SMPTE_30,getDivisionType(),getResolution()
-
-
方法详细信息
-
getDivisionType
public float getDivisionType()
获取此序列的时序分割类型。- 结果
- 分区类型(PPQ或SMPTE类型之一)
- 另请参见:
-
PPQ,SMPTE_24,SMPTE_25,SMPTE_30DROP,SMPTE_30,Sequence(float, int),MidiFileFormat.getDivisionType()
-
getResolution
public int getResolution()
获取此序列的时序分辨率。 如果序列的分割类型是PPQ,则分辨率以每搏拍数为单位指定。 对于SMTPE时间,分辨率以帧为单位指定。- 结果
- 每搏拍数(PPQ)或每帧(SMPTE)
- 另请参见:
-
getDivisionType(),Sequence(float, int),MidiFileFormat.getResolution()
-
createTrack
public Track createTrack()
创建一个新的,最初的空轨,作为这个序列的一部分。 轨道最初包含元事件结束轨道。 新创建的轨道返回。 可以使用getTracks()检索序列中的所有轨道。 可以使用deleteTrack(javax.sound.midi.Track)从序列中删除轨道。- 结果
- 新创建的轨道
-
deleteTrack
public boolean deleteTrack(Track track)
从序列中删除指定的轨迹。- 参数
-
track- 要删除的轨道 - 结果
-
true如果轨道存在于轨道并被移除,否则为false - 另请参见:
-
createTrack(),getTracks()
-
getTracks
public Track[] getTracks()
获取包含此序列中所有曲目的数组。 如果序列不包含轨道,则返回长度为0的数组。- 结果
- 轨道阵列
- 另请参见:
-
createTrack(),deleteTrack(javax.sound.midi.Track)
-
getMicrosecondLength
public long getMicrosecondLength()
获得此序列的持续时间,以微秒表示。- 结果
- 该序列的持续时间以微秒为单位
-
getTickLength
public long getTickLength()
获取此序列的持续时间,以MIDI刻度表示。- 结果
- 这个序列的长度在蜱
- 另请参见:
-
getMicrosecondLength()
-
getPatchList
public Patch[] getPatchList()
获取此序列中引用的修补程序列表。 此补丁列表可用于将所需的Instrument对象加载到Synthesizer中 。- 结果
-
此序列中使用的
Patch个对象的数组 - 另请参见:
-
Synthesizer.loadInstruments(Soundbank, Patch[])
-
-