Module  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)
        构造一个 MidiFileFormat
        参数
        type - MIDI文件类型(0,1或2)
        divisionType - 时序分割类型(PPQ或SMPTE类型之一)
        resolution - 时序分辨率
        bytes - MIDI文件的长度(以字节为单位),如果未知,则为UNKNOWN_LENGTH
        microseconds - 文件的持续时间(以微秒为单位),如果不知道则为UNKNOWN_LENGTH
        另请参见:
        UNKNOWN_LENGTHSequence.PPQSequence.SMPTE_24Sequence.SMPTE_25Sequence.SMPTE_30DROPSequence.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_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()