Module java.desktop
Package javax.sound.midi

Class MidiFileFormat

java.lang.Object
javax.sound.midi.MidiFileFormat

public class MidiFileFormat extends Object
一个MidiFileFormat对象封装了MIDI文件的类型,以及其长度和定时信息。

MidiFileFormat对象可以包含一组属性。属性是键值对:键的类型为String,关联的属性值是任意对象。属性指定了额外的信息元数据(如作者、版权)。属性是可选信息,文件读取器和文件写入器的实现不需要提供或识别属性。

以下表格列出了一些应在实现中使用的常见属性:

MIDI文件格式属性
属性键 值类型 描述
"author" String 此文件的作者姓名
"title" String 此文件的标题
"copyright" String 版权信息
"date" Date 录制或发布日期
"comment" String 任意文本
参见:
  • Field Details

  • 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

      public Map<String,Object> properties()
      获取属性的不可修改映射。有关属性的概念在类描述中有进一步解释。
      返回:
      包含所有属性的Map<String,Object>对象。如果未识别任何属性,则返回空映射。
      自1.5版本起:
      参见:
    • getProperty

      public Object getProperty(String key)
      获取由键指定的属性值。有关属性的概念在类描述中有进一步解释。

      如果特定文件格式未定义指定的属性,则此方法返回null

      参数:
      key - 所需属性的键
      返回:
      具有指定键的属性值,如果属性不存在则返回null
      自1.5版本起:
      参见: