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

クラスMidiFileFormat

java.lang.Object
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を、一式のプロパティを組み込んで構築します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    int getByteLength()
    MIDIファイルの長さを8ビット・バイト単位で取得します。
    float getDivisionType()
    MIDIファイルのタイミング分割形式を取得します。
    long getMicrosecondLength()
    MIDIファイルの長さをマイクロ秒単位で取得します。
    Object getProperty​(String key)
    キーによって指定されたプロパティ値を取得します。
    int getResolution()
    MIDIファイルのタイミング解像度を取得します。
    int getType()
    MIDIファイル・タイプを取得します。
    Map<String,​Object> properties()
    変更不可能なプロパティのマップを取得します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • UNKNOWN_LENGTH

      public static final int UNKNOWN_LENGTH
      長さが未知であることを表します。
      関連項目:
      getByteLength()getMicrosecondLength()定数フィールド値
    • type

      protected int type
      MIDIファイルの型です。
    • divisionType

      protected float divisionType
      MIDIファイルの分割形式です。
      関連項目:
      Sequence.PPQ, Sequence.SMPTE_24, Sequence.SMPTE_25, Sequence.SMPTE_30DROP, Sequence.SMPTE_30
    • 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)
    • getDivisionType

      public float getDivisionType()
      MIDIファイルのタイミング分割形式を取得します。
      戻り値:
      分割形式(PPQ、またはSMPTE形式の1つ)
      関連項目:
      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の場合、解像度は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()