public class MidiFileFormat extends Object
MidiFileFormat
对象封装了一个MIDI文件的类型,以及它的长度和时间信息。
一个MidiFileFormat
对象可以包含一组属性。 属性是一对键和值:键的类型为String
,相关属性值是任意对象。 属性指定其他信息元数据(如作者或版权)。 属性是可选信息,文件读取器和文件写入器实现不需要提供或识别属性。
下表列出了在实现中应该使用的一些常见属性:
MIDI File Format Properties Property key Value type Description "author"String
name of the author of this file "title" String
title of this file "copyright" String
copyright message "date" Date
date of the recording or release "comment" String
an arbitrary text
Modifier and Type | Field and Description |
---|---|
protected int |
byteLength
MIDI文件的长度(以字节为单位)。
|
protected float |
divisionType
MIDI文件的分割类型。
|
protected long |
microsecondLength
MIDI文件的持续时间(以微秒为单位)。
|
protected int |
resolution
MIDI文件的时间分辨率。
|
protected int |
type
MIDI文件的类型。
|
static int |
UNKNOWN_LENGTH
代表未知长度。
|
Constructor and Description |
---|
MidiFileFormat(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 用一组属性。
|
Modifier and Type | Method and Description |
---|---|
int |
getByteLength()
获取MIDI文件的长度,以8位字节表示。
|
float |
getDivisionType()
获取MIDI文件的时序分割类型。
|
long |
getMicrosecondLength()
获取MIDI文件的长度,以微秒表示。
|
Object |
getProperty(String key)
获取由密钥指定的属性值。
|
int |
getResolution()
获取MIDI文件的时间分辨率。
|
int |
getType()
获取MIDI文件类型。
|
Map<String,Object> |
properties()
获取不可修改的属性地图。
|
public static final int UNKNOWN_LENGTH
protected int type
protected float divisionType
protected int resolution
protected int byteLength
protected long microsecondLength
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
UNKNOWN_LENGTH
,
Sequence.PPQ
,
Sequence.SMPTE_24
,
Sequence.SMPTE_25
,
Sequence.SMPTE_30DROP
,
Sequence.SMPTE_30
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>
对象
UNKNOWN_LENGTH
,
Sequence.PPQ
,
Sequence.SMPTE_24
,
Sequence.SMPTE_25
,
Sequence.SMPTE_30DROP
,
Sequence.SMPTE_30
public int getType()
public float getDivisionType()
Sequence.Sequence(float, int)
,
Sequence.PPQ
,
Sequence.SMPTE_24
,
Sequence.SMPTE_25
,
Sequence.SMPTE_30DROP
,
Sequence.SMPTE_30
,
Sequence.getDivisionType()
public int getResolution()
getDivisionType()
,
Sequence.getResolution()
public int getByteLength()
UNKNOWN_LENGTH
public long getMicrosecondLength()
Sequence.getMicrosecondLength()
,
getByteLength()
,
UNKNOWN_LENGTH
public Map<String,Object> properties()
class description
进一步解释 。
Map<String,Object>
所有属性的Map<String,Object>
对象。
如果没有属性被识别,则返回空的地图。
getProperty(String)
public Object getProperty(String key)
key
- 所需财产的关键
null
。
properties()