- java.lang.Object
-
- javax.sound.midi.MidiFileFormat
-
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
-
-
字段汇总
字段 变量和类型 字段 描述 protected int
byteLength
MIDI文件的长度,以字节为单位。protected float
divisionType
MIDI文件的分割类型。protected long
microsecondLength
MIDI文件的持续时间,以微秒为单位。protected int
resolution
MIDI文件的定时分辨率。protected int
type
MIDI文件的类型。static int
UNKNOWN_LENGTH
代表未知长度。
-
构造方法摘要
构造方法 构造器 描述 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
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 int
getByteLength()
获得MIDI文件的长度,以8位字节表示。float
getDivisionType()
获得MIDI文件的时序分割类型。long
getMicrosecondLength()
获得MIDI文件的长度,以微秒表示。Object
getProperty(String key)
获取密钥指定的属性值。int
getResolution()
获得MIDI文件的定时分辨率。int
getType()
获得MIDI文件类型。Map<String,Object>
properties()
获取不可修改的属性映射。
-
-
-
字段详细信息
-
UNKNOWN_LENGTH
public static final int UNKNOWN_LENGTH
代表未知长度。- 另请参见:
-
getByteLength()
,getMicrosecondLength()
, 常数字段值
-
type
protected int type
MIDI文件的类型。
-
divisionType
protected float divisionType
MIDI文件的分割类型。
-
resolution
protected int resolution
MIDI文件的定时分辨率。
-
byteLength
protected int byteLength
MIDI文件的长度,以字节为单位。
-
microsecondLength
protected long microsecondLength
MIDI文件的持续时间,以微秒为单位。
-
-
构造方法详细信息
-
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
- 另请参见:
-
UNKNOWN_LENGTH
,Sequence.PPQ
,Sequence.SMPTE_24
,Sequence.SMPTE_25
,Sequence.SMPTE_30DROP
,Sequence.SMPTE_30
-
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
- 另请参见:
-
UNKNOWN_LENGTH
,Sequence.PPQ
,Sequence.SMPTE_24
,Sequence.SMPTE_25
,Sequence.SMPTE_30DROP
,Sequence.SMPTE_30
-
-
方法详细信息
-
getType
public int getType()
获得MIDI文件类型。- 结果
- 文件的类型(0,1或2)
-
getDivisionType
public float getDivisionType()
获得MIDI文件的时序分割类型。- 结果
- 分区类型(PPQ或其中一种SMPTE类型)
- 另请参见:
-
Sequence(float, int)
,Sequence.PPQ
,Sequence.SMPTE_24
,Sequence.SMPTE_25
,Sequence.SMPTE_30DROP
,Sequence.SMPTE_30
,Sequence.getDivisionType()
-
getResolution
public int getResolution()
获得MIDI文件的定时分辨率。 如果除法类型是PPQ,则以每拍的刻度数指定分辨率。 对于SMTPE计时,分辨率以每帧的刻度数指定。- 结果
- 每拍(PPQ)或每帧(SMPTE)的节拍数
- 另请参见:
-
getDivisionType()
,Sequence.getResolution()
-
getByteLength
public int getByteLength()
获得MIDI文件的长度,以8位字节表示。- 结果
-
文件中的字节数,如果不知道
UNKNOWN_LENGTH
- 另请参见:
-
UNKNOWN_LENGTH
-
getMicrosecondLength
public long getMicrosecondLength()
获得MIDI文件的长度,以微秒表示。- 结果
-
文件的持续时间(以微秒为单位),如果不知道
UNKNOWN_LENGTH
- 另请参见:
-
Sequence.getMicrosecondLength()
,getByteLength()
,UNKNOWN_LENGTH
-
properties
public Map<String,Object> properties()
获取不可修改的属性映射。class description
进一步解释了属性的概念。- 结果
-
包含所有属性的
Map<String,Object>
对象。 如果未识别任何属性,则返回空映射。 - 从以下版本开始:
- 1.5
- 另请参见:
-
getProperty(String)
-
getProperty
public Object getProperty(String key)
- 参数
-
key
- 所需属性的关键字 - 结果
-
具有指定键的属性的值,如果该属性不存在,
null
- 从以下版本开始:
- 1.5
- 另请参见:
-
properties()
-
-