public class Sequence extends Object
Sequence
是含有音乐信息的数据结构(通常是一个完整的歌曲或乐曲),可以由一个
Sequencer
对象扮演。具体而言,该
Sequence
包含时间信息和一个或多个轨道。每个
track
由一系列的MIDI事件(如附注项,注意取舍,程序的变化,和元事件)。该序列的定时信息指定用于时间戳序列中的事件的单位类型。
一个Sequence
可以通过读取文件到一个输入流和调用的方法之一MidiSystem
getSequence
从MIDI文件创建一个序列,也可以从头开始建立新的Tracks
添加到一个空的Sequence
,加入
对象,这些MidiEvent
Tracks
。
Modifier and Type | Field and Description |
---|---|
protected float |
divisionType
时序的时序划分类型。
|
static float |
PPQ
基于节奏的定时类型,该分辨率是表示在脉冲(蜱)每季度票据。
|
protected int |
resolution
序列的定时分辨率。
|
static float |
SMPTE_24
基于SMPTE每秒24帧定时型(分辨率是蜱的每帧的表达)。
|
static float |
SMPTE_25
基于SMPTE每秒25帧定时型(分辨率是蜱的每帧的表达)。
|
static float |
SMPTE_30
基于SMPTE每秒30帧定时型(分辨率是蜱的每帧的表达)。
|
static float |
SMPTE_30DROP
基于SMPTE每秒29.97帧定时型(分辨率是蜱的每帧的表达)。
|
protected Vector<Track> |
tracks
在这个序列的MIDI音轨。
|
Constructor and Description |
---|
Sequence(float divisionType, int resolution)
提出了一种新的指定的时间划分类型和时间分辨率的MIDI序列。
|
Sequence(float divisionType, int resolution, int numTracks)
提出了一种新的指定的时间分型、MIDI序列的时间分辨率和磁道数。
|
Modifier and Type | Method and Description |
---|---|
Track |
createTrack()
创建一个新的,最初是空的轨道,作为该序列的一部分。
|
boolean |
deleteTrack(Track track)
从序列中移除指定的轨道。
|
float |
getDivisionType()
获取此序列的时序划分类型。
|
long |
getMicrosecondLength()
获得该序列的持续时间,表示在微秒。
|
Patch[] |
getPatchList()
获得在此序列中引用的补丁列表。
|
int |
getResolution()
获取此序列的定时分辨率。
|
long |
getTickLength()
获得该序列的持续时间,用MIDI蜱。
|
Track[] |
getTracks()
获取一个包含该序列中所有曲目的数组。
|
public static final float PPQ
public static final float SMPTE_24
public static final float SMPTE_25
public static final float SMPTE_30DROP
public static final float SMPTE_30
protected float divisionType
PPQ
,
SMPTE_24
,
SMPTE_25
,
SMPTE_30DROP
,
SMPTE_30
,
getDivisionType()
protected int resolution
getResolution()
protected Vector<Track> tracks
getTracks()
public Sequence(float divisionType, int resolution) throws InvalidMidiDataException
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()
public Sequence(float divisionType, int resolution, int numTracks) throws InvalidMidiDataException
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()
public float getDivisionType()
PPQ
,
SMPTE_24
,
SMPTE_25
,
SMPTE_30DROP
,
SMPTE_30
,
Sequence(float, int)
,
MidiFileFormat.getDivisionType()
public int getResolution()
getDivisionType()
,
Sequence(float, int)
,
MidiFileFormat.getResolution()
public Track createTrack()
getTracks()
。轨道可使用
deleteTrack(javax.sound.midi.Track)
序列删除。
public boolean deleteTrack(Track track)
track
-轨道,去除
true
如果在轨道存在的轨道和被删除,否则
false
。
createTrack()
,
getTracks()
public Track[] getTracks()
createTrack()
,
deleteTrack(javax.sound.midi.Track)
public long getMicrosecondLength()
public long getTickLength()
getMicrosecondLength()
public Patch[] getPatchList()
Instrument
对象加载到
Synthesizer
。
Patch
用这个序列中的对象数组
Synthesizer.loadInstruments(Soundbank, Patch[])
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.