模块  java.desktop
软件包  javax.sound.midi

Class 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
    另请参见:
    MidiSystem.getMidiFileFormat(java.io.File)Sequencer.setSequence(java.io.InputStream stream)
    • 构造方法详细信息

      • 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_LENGTHSequence.PPQSequence.SMPTE_24Sequence.SMPTE_25Sequence.SMPTE_30DROPSequence.SMPTE_30
    • 方法详细信息

      • getType

        public int getType()
        获得MIDI文件类型。
        结果
        文件的类型(0,1或2)
      • getResolution

        public int getResolution()
        获得MIDI文件的定时分辨率。 如果除法类型是PPQ,则以每拍的刻度数指定分辨率。 对于SMTPE计时,分辨率以每帧的刻度数指定。
        结果
        每拍(PPQ)或每帧(SMPTE)的节拍数
        另请参见:
        getDivisionType()Sequence.getResolution()
      • getByteLength

        public int getByteLength()
        获得MIDI文件的长度,以8位字节表示。
        结果
        文件中的字节数,如果不知道 UNKNOWN_LENGTH
        另请参见:
        UNKNOWN_LENGTH
      • properties

        public Map<String,​Object> properties()
        获取不可修改的属性映射。 class description进一步解释了属性的概念。
        结果
        包含所有属性的Map<String,Object>对象。 如果未识别任何属性,则返回空映射。
        从以下版本开始:
        1.5
        另请参见:
        getProperty(String)
      • getProperty

        public Object getProperty​(String key)
        获取密钥指定的属性值。 class description进一步解释了属性的概念。

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

        参数
        key - 所需属性的关键字
        结果
        具有指定键的属性的值,如果该属性不存在, null
        从以下版本开始:
        1.5
        另请参见:
        properties()