モジュール java.desktop
パッケージ javax.sound.midi

クラスMidiFileFormat



  • public class MidiFileFormat
    extends Object
    MidiFileFormatオブジェクトは、MIDIファイルのタイプを長さおよびタイミング情報とともにカプセル化します。

    MidiFileFormatオブジェクトには、一式のプロパティを組み込むことができます。 1つのプロパティは、キーと値のペアから成ります。キーはString型で、対応するプロパティ値は任意のオブジェクトです。 プロパティには、作成者や著作権など、付加的な情報のメタデータを指定します。 プロパティはオプション情報であり、プロパティを提供または認識するためのファイル・リーダーおよびファイル・ライターの実装は必須ではありません。

    次の表に、実装で使用される一般的なプロパティの例を示します。

    MIDIファイル形式のプロパティ
    プロパティ・キー 値の型 説明
    "author" String このファイルの作成者の名前
    "title" String このファイルのタイトル
    "copyright" String 著作権メッセージ
    "date" Date 録音またはリリースの日付
    "comment" String 任意のテキスト
    関連項目:
    MidiSystem.getMidiFileFormat(java.io.File), Sequencer.setSequence(java.io.InputStream stream)
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      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を、一式のプロパティを組み込んで構築します。
    • フィールドの詳細

      • type

        protected int type
        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形式の1つ)
        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形式の1つ)
        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)
      • getResolution

        public int getResolution​()
        MIDIファイルのタイミング解像度を取得します。 分割形式がPPQの場合、解像度は1ビート当たりのティックで指定されます。 SMTPEタイミングの場合、解像度は1フレームあたりのティックで指定されます。
        戻り値:
        1ビート当たり(PPQ)または1フレーム当たり(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つも認識されない場合は、空のマップが返される。
        導入されたバージョン:
        1.5
        関連項目:
        getProperty(String)
      • getProperty

        public Object getProperty​(String key)
        キーによって指定されたプロパティ値を取得します。 プロパティの概念の詳細は、class descriptionの説明を参照してください。

        指定したプロパティが特定のファイル形式で定義されていない場合、このメソッドはnullを返します。

        パラメータ:
        key - 取得したいプロパティのキー
        戻り値:
        指定されたキーを持つプロパティの値、またはプロパティが存在しない場合はnull
        導入されたバージョン:
        1.5
        関連項目:
        properties()