java.lang.Object
javax.sound.midi.MidiFileFormat
一个
MidiFileFormat
对象封装了MIDI文件的类型,以及其长度和定时信息。
MidiFileFormat
对象可以包含一组属性。属性是键值对:键的类型为String
,关联的属性值是任意对象。属性指定了额外的信息元数据(如作者、版权)。属性是可选信息,文件读取器和文件写入器的实现不需要提供或识别属性。
以下表格列出了一些应在实现中使用的常见属性:
属性键 | 值类型 | 描述 |
---|---|---|
"author" | String |
此文件的作者姓名 |
"title" | String |
此文件的标题 |
"copyright" | String |
版权信息 |
"date" | Date |
录制或发布日期 |
"comment" | String |
任意文本 |
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionprotected int
MIDI文件的长度(以字节为单位)。protected float
MIDI文件的分割类型。protected long
MIDI文件的持续时间(以微秒为单位)。protected int
MIDI文件的定时分辨率。protected int
MIDI文件的类型。static final int
表示未知长度。 -
Constructor Summary
ConstructorDescriptionMidiFileFormat
(int type, float divisionType, int resolution, int bytes, long microseconds) 构造一个MidiFileFormat
。MidiFileFormat
(int type, float divisionType, int resolution, int bytes, long microseconds, Map<String, Object> properties) 使用一组属性构造一个MidiFileFormat
。 -
Method Summary
Modifier and TypeMethodDescriptionint
获取MIDI文件的长度,以8位字节表示。float
获取MIDI文件的定时分割类型。long
获取MIDI文件的长度,以微秒表示。getProperty
(String key) 获取由键指定的属性值。int
获取MIDI文件的定时分辨率。int
getType()
获取MIDI文件类型。获取属性的不可修改映射。
-
Field Details
-
UNKNOWN_LENGTH
public static final int UNKNOWN_LENGTH表示未知长度。- 参见:
-
type
protected int typeMIDI文件的类型。 -
divisionType
protected float divisionTypeMIDI文件的分割类型。- 参见:
-
resolution
protected int resolutionMIDI文件的定时分辨率。 -
byteLength
protected int byteLengthMIDI文件的长度(以字节为单位)。 -
microsecondLength
protected long microsecondLengthMIDI文件的持续时间(以微秒为单位)。
-
-
Constructor Details
-
MidiFileFormat
public MidiFileFormat(int type, float divisionType, int resolution, int bytes, long microseconds) 构造一个MidiFileFormat
。- 参数:
-
type
- MIDI文件类型(0、1或2) -
divisionType
- 定时分割类型(PPQ或SMPTE类型之一) -
resolution
- 定时分辨率 -
bytes
- MIDI文件的长度(以字节为单位),如果未知则为UNKNOWN_LENGTH
-
microseconds
- 文件的持续时间(以微秒为单位),如果未知则为UNKNOWN_LENGTH
- 参见:
-
MidiFileFormat
public MidiFileFormat(int type, float divisionType, int resolution, int bytes, long microseconds, Map<String, Object> properties) 使用一组属性构造一个MidiFileFormat
。- 参数:
-
type
- MIDI文件类型(0、1或2) -
divisionType
- 定时分割类型(PPQ或SMPTE类型之一) -
resolution
- 定时分辨率 -
bytes
- MIDI文件的长度(以字节为单位),如果未知则为UNKNOWN_LENGTH
-
microseconds
- 文件的持续时间(以微秒为单位),如果未知则为UNKNOWN_LENGTH
-
properties
- 一个带有属性的Map<String,Object>
对象 - 自1.5版本起:
- 参见:
-
-
Method Details
-
getType
public int getType()获取MIDI文件类型。- 返回:
- 文件的类型(0、1或2)
-
getDivisionType
public float getDivisionType()获取MIDI文件的定时分割类型。- 返回:
- 分割类型(PPQ或SMPTE类型之一)
- 参见:
-
getResolution
public int getResolution()获取MIDI文件的定时分辨率。如果分割类型为PPQ,则分辨率以每拍的滴答数表示。对于SMTPE定时,分辨率以每帧的滴答数表示。- 返回:
- 每拍的滴答数(PPQ)或每帧的滴答数(SMPTE)
- 参见:
-
getByteLength
public int getByteLength()获取MIDI文件的长度,以8位字节表示。- 返回:
-
文件中的字节数,如果未知则为
UNKNOWN_LENGTH
- 参见:
-
getMicrosecondLength
public long getMicrosecondLength()获取MIDI文件的长度,以微秒表示。- 返回:
-
文件的持续时间(以微秒为单位),如果未知则为
UNKNOWN_LENGTH
- 参见:
-
properties
获取属性的不可修改映射。有关属性的概念在类描述
中有进一步解释。- 返回:
-
包含所有属性的
Map<String,Object>
对象。如果未识别任何属性,则返回空映射。 - 自1.5版本起:
- 参见:
-
getProperty
获取由键指定的属性值。有关属性的概念在类描述
中有进一步解释。如果特定文件格式未定义指定的属性,则此方法返回
null
。- 参数:
-
key
- 所需属性的键 - 返回:
-
具有指定键的属性值,如果属性不存在则返回
null
- 自1.5版本起:
- 参见:
-