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

クラスMidiSystem

java.lang.Object
javax.sound.midi.MidiSystem

public class MidiSystem
extends Object
MidiSystemクラスは、シンセサイザ、シーケンサ、MIDI入出力ポートなどのデバイスを含むインストール済みMIDIシステム・リソースへのアクセスを提供します。 一般に見られる単純なMIDIアプリケーションは、1つ以上のMidiSystemメソッドを呼び出して、どのデバイスがインストールされているかを調べ、そのアプリケーションに必要なデバイスを取得することから始めます。

また、クラスにはファイル、ストリーム、および標準MIDIファイル・データまたはサウンド・バンクを含むURLの読取り用メソッドもあります。 指定されたMIDIファイルの形式をMidiSystemに照会できます。

MidiSystemをインスタンス化することはできません。メソッドはすべて静的です。

プロパティを使用して、デフォルトのMIDIデバイスを指定できます。 システム・プロパティ、プロパティ・ファイルの両方とも使用可能です。 "sound.properties"プロパティ・ファイルは、実装固有のロケーション(通常、Javaインストール・ディレクトリ内のconfディレクトリです)から読み込まれます。 オプションの"javax.sound.config.file"システム・プロパティを使用して、初期構成として読み取られるプロパティ・ファイルを指定できます。 プロパティがシステム・プロパティとしても、プロパティ・ファイル内にも存在する場合は、システム・プロパティが優先されます。 プロパティがまったく指定されていない場合は、使用可能なデバイスの中から適切なデフォルト・プロパティが選択されます。 プロパティ・ファイルの構文はProperties.loadに指定されています。 次の表は、使用可能なプロパティ・キーと、これらを認識するメソッドのリストです。

MIDIシステムのプロパティ・キー
プロパティ・キー インタフェース 影響を受けるメソッド
javax.sound.midi.Receiver Receiver getReceiver()
javax.sound.midi.Sequencer Sequencer getSequencer()
javax.sound.midi.Synthesizer Synthesizer getSynthesizer()
javax.sound.midi.Transmitter Transmitter getTransmitter()
プロパティ値は、プロバイダ・クラス名とデバイス名をハッシュ記号(「#」)で区切った形式で表されます。 プロバイダ・クラス名は、具象MIDI device providerクラスの完全指定名です。 デバイス名は、MidiDevice.InfogetNameメソッドから返されるStringとマッチングされます。 クラス名、デバイス名の一方を省略することもできます。 クラス名だけを指定した場合、ハッシュ記号は省略できます。

プロバイダ・クラスが指定されていて、インストール済プロバイダから正常に取得できる場合、このプロバイダからMidiDevice.Infoオブジェクトのリストが取り出されます。 そうでない場合、またはこれらのデバイスがこれ以降マッチングを行わない場合、使用可能なすべてのMidiDevice.Infoオブジェクトを含めるために、getMidiDeviceInfo()からリストが取得されます。

デバイス名が指定されている場合、結果として得られたMidiDevice.Infoオブジェクトのリストが検索されます。名前が一致した最初のオブジェクト(そのMidiDeviceはそれぞれのインタフェースを実装する)が返されます。 一致するMidiDevice.Infoオブジェクトが見つからない場合、またはデバイス名が指定されていない場合、結果リストの最初の適切なデバイスが返されます。 SequencerおよびSynthesizerの場合、それぞれのインタフェースを実装するデバイスが適切なデバイスです。これに対して、ReceiverおよびTransmitterの場合、SequencerもSynthesizerも実装せず、ReceiverまたはTransmitterを1つ以上提供するデバイスが適切なデバイスです。

たとえば、"com.sun.media.sound.MidiProvider#SunMIDI1"を値に持つプロパティjavax.sound.midi.Receiverでは、getReceiverが呼び出されたとき、次のような結果が得られます: インストール済MIDIデバイス・プロバイダのリスト内にcom.sun.media.sound.MidiProviderクラスが存在する場合、"SunMIDI1"という名前の最初のReceiverデバイスが返されます。 見つからない場合は、名前とは関係なく、そのプロバイダの最初のReceiverが返されます。 存在しない場合は、すべてのデバイスのリスト(getMidiDeviceInfoによって返される)内の"SunMIDI1"という名前の最初のReceiverが返されます。これが見つからない場合、すべてのデバイスのリスト内で最初に見つかったReceiverが返されます。 これにも失敗した場合は、MidiUnavailableExceptionがスローされます。

  • メソッドのサマリー

    修飾子と型 メソッド 説明
    static MidiDevice getMidiDevice​(MidiDevice.Info info)
    要求されたMIDIデバイスを取得します。
    static MidiDevice.Info[] getMidiDeviceInfo()
    システムで使用可能な全MIDIデバイスのセットを表す情報オブジェクトの配列を取得します。
    static MidiFileFormat getMidiFileFormat​(File file)
    指定されたFileのMIDIファイル形式を取得します。
    static MidiFileFormat getMidiFileFormat​(InputStream stream)
    指定された入力ストリームのデータのMIDIファイル形式を取得します。
    static MidiFileFormat getMidiFileFormat​(URL url)
    指定されたURLのデータのMIDIファイル形式を取得します。
    static int[] getMidiFileTypes()
    システムがファイル書込みサポートを提供するMIDIファイル・タイプのセットを取得します。
    static int[] getMidiFileTypes​(Sequence sequence)
    指定されたシーケンスからシステムが書込み可能なMIDIファイル・タイプのセットを取得します。
    static Receiver getReceiver()
    外部MIDIポートまたはその他のデフォルト・デバイスから、MIDIレシーバを取得します。
    static Sequence getSequence​(File file)
    指定されたFileからMIDIシーケンスを取得します。
    static Sequence getSequence​(InputStream stream)
    指定された入力ストリームからMIDIシーケンスを取得します。
    static Sequence getSequence​(URL url)
    指定されたURLからMIDIシーケンスを取得します。
    static Sequencer getSequencer()
    デフォルト・デバイスに接続されたデフォルトのSequencerを取得します。
    static Sequencer getSequencer​(boolean connected)
    オプションでデフォルト・デバイスに接続された、デフォルトのSequencerを取得します。
    static Soundbank getSoundbank​(File file)
    指定されたFileからSoundbankを読み取ることによって、それを構築します。
    static Soundbank getSoundbank​(InputStream stream)
    指定されたストリームからMIDIサウンド・バンクを読み取ることによって、MIDIサウンド・バンクを構築します。
    static Soundbank getSoundbank​(URL url)
    指定されたURLから読み取ることによって、Soundbankを構築します。
    static Synthesizer getSynthesizer()
    デフォルト・シンセサイザを取得します。
    static Transmitter getTransmitter()
    外部MIDIポートまたはほかのデフォルト・ソースから、MIDIトランスミッタを取得します。
    static boolean isFileTypeSupported​(int fileType)
    指定されたMIDIファイル・タイプのファイル書込みサポートをシステムが提供しているかどうかを示します。
    static boolean isFileTypeSupported​(int fileType, Sequence sequence)
    指定されたファイル・タイプのMIDIファイルを、示されたシーケンスから書き込めるかどうかを示します。
    static int write​(Sequence in, int type, File out)
    提供される外部ファイルに示されるMIDIファイル・タイプのファイルを表すバイトのストリームを書き込みます。
    static int write​(Sequence in, int fileType, OutputStream out)
    提供される出力ストリームに示されるMIDIファイル・タイプのファイルを表すバイトのストリームを書き込みます。

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

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • メソッドの詳細

    • getMidiDeviceInfo

      public static MidiDevice.Info[] getMidiDeviceInfo()
      システムで使用可能な全MIDIデバイスのセットを表す情報オブジェクトの配列を取得します。 getMidiDeviceを呼び出すことにより、返された情報オブジェクトを使用して、対応するデバイスを取得できます。
      戻り値:
      MidiDevice.Infoオブジェクトの配列で、インストールされたMIDIデバイスごとに1つの配列が返される。 該当するデバイスがインストールされていない場合、長さ0の配列が返される。
    • getMidiDevice

      public static MidiDevice getMidiDevice​(MidiDevice.Info info) throws MidiUnavailableException
      要求されたMIDIデバイスを取得します。
      パラメータ:
      info - 目的のデバイスを表すデバイス情報オブジェクト
      戻り値:
      要求されたデバイス
      例外:
      MidiUnavailableException - リソースの制約のために、要求されたデバイスを使用できない場合
      IllegalArgumentException - 情報オブジェクトが、システムにインストールされたMIDIデバイスを表さない場合
      NullPointerException - infonullの場合
      関連項目:
      getMidiDeviceInfo()
    • getReceiver

      public static Receiver getReceiver() throws MidiUnavailableException
      外部MIDIポートまたはその他のデフォルト・デバイスから、MIDIレシーバを取得します。 返されたレシーバは常にMidiDeviceReceiverインタフェースを実装します。

      システム・プロパティjavax.sound.midi.Receiverが定義されている場合、または「sound.properties」ファイル内に定義されている場合、このプロパティは、デフォルトのレシーバを提供するデバイスを識別するために使用されます。 詳細は、class descriptionを参照してください。

      適切なMIDIポートを使用できない場合、インストール済みシンセサイザからReceiverを取得します。

      デフォルト・デバイスで提供されるネイティブ・レシーバは、MidiDeviceReceiverインタフェースを実装しない場合、MidiDeviceReceiverインタフェースを実装するラッパー・クラス内にラップされます。 対応するReceiverメソッド呼出しはネイティブ・レシーバに転送されます。

      このメソッドが正常に実行されると、暗黙のうちに、ReceiverMidiDeviceが開きます(まだ開いていない場合)。 暗黙的に開かれたデバイスを閉じるには、返されたReceiver上でcloseを呼び出します。 MidiDeviceに格納されているシステム・リソースを解放するには、開いているすべてのReceiverインスタンスを閉じる必要があります。 開く/閉じるの動作の詳細については、MidiDeviceの説明を参照してください。

      戻り値:
      デフォルトMIDIレシーバ
      例外:
      MidiUnavailableException - リソース制約により、またはレシーバを提供するデバイスがシステムにインストールされていないためにデフォルトのレシーバを使用できない場合
    • getTransmitter

      public static Transmitter getTransmitter() throws MidiUnavailableException
      外部MIDIポートまたはほかのデフォルト・ソースから、MIDIトランスミッタを取得します。 返されたトランスミッタは常にMidiDeviceTransmitterインタフェースを実装します。

      システム・プロパティjavax.sound.midi.Transmitterが定義されている場合、または「sound.properties」ファイル内に定義されている場合、このプロパティは、デフォルトのトランスミッタを提供するデバイスを識別するために使用されます。 詳細は、class descriptionを参照してください。

      デフォルト・デバイスで提供されるネイティブ・トランスミッタは、MidiDeviceTransmitterインタフェースを実装しない場合、MidiDeviceTransmitterインタフェースを実装するラッパー・クラス内にラップされます。 対応するTransmitterメソッド呼出しはネイティブ・トランスミッタに転送されます。

      このメソッドが正常に実行されると、暗黙のうちに、TransmitterMidiDeviceが開きます(まだ開いていない場合)。 暗黙的に開かれたデバイスを閉じるには、返されたTransmitter上でcloseを呼び出します。 MidiDeviceに格納されているシステム・リソースを解放するには、開いているすべてのTransmitterインスタンスを閉じる必要があります。 開く/閉じるの動作の詳細については、MidiDeviceの説明を参照してください。

      戻り値:
      デフォルトMIDIトランスミッタ
      例外:
      MidiUnavailableException - リソース制約により、またはトランスミッタを提供するデバイスがシステムにインストールされていないためにデフォルトのトランスミッタを使用できない場合
    • getSynthesizer

      public static Synthesizer getSynthesizer() throws MidiUnavailableException
      デフォルト・シンセサイザを取得します。

      システム・プロパティjavax.sound.midi.Synthesizerが定義されている場合、または「sound.properties」ファイル内に定義されている場合、このプロパティは、デフォルトのシンセサイザを識別するために使用されます。 詳細は、class descriptionを参照してください。

      戻り値:
      デフォルト・シンセサイザ
      例外:
      MidiUnavailableException - リソース制約により、またはシステムにシンセサイザがインストールされていないためにデフォルトのシンセサイザを使用できない場合
    • getSequencer

      public static Sequencer getSequencer() throws MidiUnavailableException
      デフォルト・デバイスに接続されたデフォルトのSequencerを取得します。 返されるSequencerインスタンスは、getSynthesizer()により返されるデフォルトのSynthesizerに接続されます。 使用可能なSynthesizerがない場合、またはデフォルトのSynthesizerを開くことができない場合、sequencerは、getReceiver()により返されるデフォルトのReceiverに接続されます。 接続を確立するには、SequencerからTransmitterインスタンスを取得し、そのReceiverを設定します。 シーケンサを閉じて再度開くと、デフォルト・デバイスとの接続が復元されます。

      このメソッドは、getSequencer(true)を呼び出すのと同等です。

      システム・プロパティjavax.sound.midi.Sequencerが定義されている場合、または「sound.properties」ファイル内に定義されている場合、このプロパティは、デフォルトのシーケンサを識別するために使用されます。 詳細は、class descriptionを参照してください。

      戻り値:
      デフォルトのReceiverに接続されたデフォルトのシーケンサ
      例外:
      MidiUnavailableException - リソース制約により、またはインストール済みMidiDeviceで使用できるReceiverがないため、またはシステムにシーケンサがインストールされていないため、シーケンサを使用できない場合
      関連項目:
      getSequencer(boolean), getSynthesizer(), getReceiver()
    • getSequencer

      public static Sequencer getSequencer​(boolean connected) throws MidiUnavailableException
      オプションでデフォルト・デバイスに接続された、デフォルトのSequencerを取得します。

      connectedがtrueの場合、返されるSequencerインスタンスは、getSynthesizer()により返されるデフォルトのSynthesizerに接続されます。 使用可能なSynthesizerがない場合、またはデフォルトのSynthesizerを開くことができない場合、sequencerは、getReceiver()により返されるデフォルトのReceiverに接続されます。 接続を確立するには、SequencerからTransmitterインスタンスを取得し、そのReceiverを設定します。 シーケンサを閉じて再度開くと、デフォルト・デバイスとの接続が復元されます。

      connectedがfalseの場合、返されるSequencerインスタンスは接続されず、開いたTransmittersが存在しない状態になります。 MIDIデバイスまたはSynthesizer上でシーケンサを使用するには、Transmitterを取得し、そのReceiverを設定する必要があります。

      システム・プロパティjavax.sound.midi.Sequencerが定義されている場合、または「sound.properties」ファイル内に定義されている場合、このプロパティは、デフォルトのシーケンサを識別するために使用されます。 詳細は、class descriptionを参照してください。

      パラメータ:
      connected - 返されるSequencerがデフォルトSynthesizerに接続されるかどうか
      戻り値:
      デフォルト・シーケンサ
      例外:
      MidiUnavailableException - リソース制約により、またはシステムにシーケンサがインストールされていないため、シーケンサを使用できない場合。または、connectedがtrueで、インストール済みMidiDeviceで使用可能なReceiverが存在しない場合
      導入されたバージョン:
      1.5
      関連項目:
      getSynthesizer(), getReceiver()
    • getSoundbank

      public static Soundbank getSoundbank​(InputStream stream) throws InvalidMidiDataException, IOException
      指定されたストリームからMIDIサウンド・バンクを読み取ることによって、MIDIサウンド・バンクを構築します。 ストリームは有効なMIDIサウンドバンク・ファイルを示す必要があります。 一般的に、MIDIサウンドバンク・プロバイダは、そのストリームをサポートするかどうかを判定する前にデータをいくらか読み取る必要があります。 これらのパーサーは、ストリームをマークし、ストリームをサポートするかどうかを判定するのに十分なデータを読み込み、サポートしない場合はストリームの読込みポインタをもとの位置に戻す、という機能が必要です。 入力ストリームがこれをサポートしない場合、このメソッドはIOExceptionを表示して失敗することがあります。
      パラメータ:
      stream - サウンドバンク・データのソース
      戻り値:
      サウンド・バンク
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIサウンドバンク・データをストリームが示さない場合
      IOException - サウンド・バンクをロードするときに入出力エラーが発生した場合
      NullPointerException - streamnullの場合
      関連項目:
      InputStream.markSupported(), InputStream.mark(int)
    • getSoundbank

      public static Soundbank getSoundbank​(URL url) throws InvalidMidiDataException, IOException
      指定されたURLから読み取ることによって、Soundbankを構築します。 URLは有効なMIDIサウンドバンク・ファイルを示す必要があります。
      パラメータ:
      url - サウンドバンク・データのソース
      戻り値:
      サウンド・バンク
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIサウンドバンク・データをURLが示さない場合
      IOException - サウンド・バンクをロードするときに入出力エラーが発生した場合
      NullPointerException - urlnullの場合
    • getSoundbank

      public static Soundbank getSoundbank​(File file) throws InvalidMidiDataException, IOException
      指定されたFileからSoundbankを読み取ることによって、それを構築します。 Fileは有効なMIDIサウンドバンク・ファイルを示す必要があります。
      パラメータ:
      file - サウンドバンク・データのソース
      戻り値:
      サウンド・バンク
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIサウンドバンク・データをFileが示さない場合
      IOException - サウンド・バンクをロードするときに入出力エラーが発生した場合
      NullPointerException - filenullの場合
    • getMidiFileFormat

      public static MidiFileFormat getMidiFileFormat​(InputStream stream) throws InvalidMidiDataException, IOException
      指定された入力ストリームのデータのMIDIファイル形式を取得します。 ストリームは、システムが認識したファイル・タイプに有効なMIDIファイル・データを示す必要があります。

      このメソッドまたはこのメソッドが呼び出すコード、あるいはその両方とも、そのデータ形式がサポートされるかどうかを判定するためにストリームからデータをいくらか読み取る必要があります。 したがって、ストリームをマークし、データがサポートされる形式であるかどうかを判定するのに十分なデータを読み取り、ストリームのリード・ポインタを元の位置に戻すための実装が必要です。 入力ストリームがこの一連の操作を許可しない場合、このメソッドはIOExceptionをスローして失敗します。

      この操作は、インストールされたファイル・リーダーによって構文解析できる種類のファイルに限り有効です。 互換性のあるファイル・リーダーがインストールされていない場合、有効なファイルであってもInvalidMidiDataExceptionで失敗することがあります。 また、互換性のあるファイル・リーダーがインストールされている場合はInvalidMidiDataExceptionで失敗しますが、ファイル形式を決定する際にエラーが発生します。

      パラメータ:
      stream - ファイル形式情報を抽出する入力ストリーム
      戻り値:
      MIDIファイル形式を記述するMidiFileFormatオブジェクト
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIファイル・データをストリームが示さない場合
      IOException - ストリームにアクセス中に入出力例外が発生した場合
      NullPointerException - streamnullの場合
      関連項目:
      getMidiFileFormat(URL), getMidiFileFormat(File), InputStream.markSupported(), InputStream.mark(int)
    • getMidiFileFormat

      public static MidiFileFormat getMidiFileFormat​(URL url) throws InvalidMidiDataException, IOException
      指定されたURLのデータのMIDIファイル形式を取得します。 URLは、システムが認識したファイル・タイプに有効なMIDIファイル・データを示す必要があります。

      この操作は、インストールされたファイル・リーダーによって構文解析できる種類のファイルに限り有効です。 互換性のあるファイル・リーダーがインストールされていない場合、有効なファイルであってもInvalidMidiDataExceptionで失敗することがあります。 また、互換性のあるファイル・リーダーがインストールされている場合はInvalidMidiDataExceptionで失敗しますが、ファイル形式を決定する際にエラーが発生します。

      パラメータ:
      url - ファイル形式情報を抽出するURL
      戻り値:
      MIDIファイル形式を記述するMidiFileFormatオブジェクト
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIファイル・データをURLが示さない場合
      IOException - URLにアクセス中に入出力例外が発生した場合
      NullPointerException - urlnullの場合
      関連項目:
      getMidiFileFormat(InputStream), getMidiFileFormat(File)
    • getMidiFileFormat

      public static MidiFileFormat getMidiFileFormat​(File file) throws InvalidMidiDataException, IOException
      指定されたFileのMIDIファイル形式を取得します。 Fileは、システムが認識したファイル・タイプに有効なMIDIファイル・データを示す必要があります。

      この操作は、インストールされたファイル・リーダーによって構文解析できる種類のファイルに限り有効です。 互換性のあるファイル・リーダーがインストールされていない場合、有効なファイルであってもInvalidMidiDataExceptionで失敗することがあります。 また、互換性のあるファイル・リーダーがインストールされている場合はInvalidMidiDataExceptionで失敗しますが、ファイル形式を決定する際にエラーが発生します。

      パラメータ:
      file - ファイル形式情報を抽出するFile
      戻り値:
      MIDIファイル形式を記述するMidiFileFormatオブジェクト
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIファイル・データをFileが示さない場合
      IOException - ファイルにアクセス中に入出力例外が発生した場合
      NullPointerException - filenullの場合
      関連項目:
      getMidiFileFormat(InputStream), getMidiFileFormat(URL)
    • getSequence

      public static Sequence getSequence​(InputStream stream) throws InvalidMidiDataException, IOException
      指定された入力ストリームからMIDIシーケンスを取得します。 ストリームは、システムが認識したファイル・タイプに有効なMIDIファイル・データを示す必要があります。

      このメソッドまたはこのメソッドが呼び出すコード、あるいはその両方とも、そのデータ形式がサポートされるかどうかを判定するためにストリームからデータをいくらか読み取る必要があります。 したがって、ストリームをマークし、データがサポートされる形式であるかどうかを判定するのに十分なデータを読み取り、ストリームのリード・ポインタを元の位置に戻すための実装が必要です。 入力ストリームがこの一連の操作を許可しない場合、このメソッドはIOExceptionをスローして失敗します。

      この操作は、インストールされたファイル・リーダーによって構文解析できる種類のファイルに限り有効です。 互換性のあるファイル・リーダーがインストールされていない場合、有効なファイルであってもInvalidMidiDataExceptionで失敗することがあります。 また、互換性のあるファイル・リーダーがインストールされている場合はInvalidMidiDataExceptionで失敗しますが、ファイル・データからSequenceオブジェクトを構築する際にエラーが発生します。

      パラメータ:
      stream - Sequenceを構築する入力ストリーム
      戻り値:
      入力ストリームに含まれるMIDIファイル・データにもとづくSequenceオブジェクト
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIファイル・データをストリームが示さない場合
      IOException - ストリームにアクセス中に入出力例外が発生した場合
      NullPointerException - streamnullの場合
      関連項目:
      InputStream.markSupported(), InputStream.mark(int)
    • getSequence

      public static Sequence getSequence​(URL url) throws InvalidMidiDataException, IOException
      指定されたURLからMIDIシーケンスを取得します。 URLは、システムが認識したファイル・タイプに有効なMIDIファイル・データを示す必要があります。

      この操作は、インストールされたファイル・リーダーによって構文解析できる種類のファイルに限り有効です。 互換性のあるファイル・リーダーがインストールされていない場合、有効なファイルであってもInvalidMidiDataExceptionで失敗することがあります。 また、互換性のあるファイル・リーダーがインストールされている場合はInvalidMidiDataExceptionで失敗しますが、ファイル・データからSequenceオブジェクトを構築する際にエラーが発生します。

      パラメータ:
      url - Sequenceを構築するURL
      戻り値:
      URLが示すMIDIファイル・データに基づくSequenceオブジェクト
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIファイル・データをURLが示さない場合
      IOException - URLにアクセス中に入出力例外が発生した場合
      NullPointerException - urlnullの場合
    • getSequence

      public static Sequence getSequence​(File file) throws InvalidMidiDataException, IOException
      指定されたFileからMIDIシーケンスを取得します。 Fileは、システムが認識したファイル・タイプに有効なMIDIファイル・データを示す必要があります。

      この操作は、インストールされたファイル・リーダーによって構文解析できる種類のファイルに限り有効です。 互換性のあるファイル・リーダーがインストールされていない場合、有効なファイルであってもInvalidMidiDataExceptionで失敗することがあります。 また、互換性のあるファイル・リーダーがインストールされている場合はInvalidMidiDataExceptionで失敗しますが、ファイル・データからSequenceオブジェクトを構築する際にエラーが発生します。

      パラメータ:
      file - Sequenceを構築するFile
      戻り値:
      Fileが示すMIDIファイル・データに基づくSequenceオブジェクト
      例外:
      InvalidMidiDataException - システムが認識した有効なMIDIファイル・データをFileが示さない場合
      IOException - 入出力例外が発生した場合
      NullPointerException - filenullの場合
    • getMidiFileTypes

      public static int[] getMidiFileTypes()
      システムがファイル書込みサポートを提供するMIDIファイル・タイプのセットを取得します。
      戻り値:
      一意のファイル・タイプの配列。 サポートされているファイル・タイプがない場合、長さ0の配列が返される。
    • isFileTypeSupported

      public static boolean isFileTypeSupported​(int fileType)
      指定されたMIDIファイル・タイプのファイル書込みサポートをシステムが提供しているかどうかを示します。
      パラメータ:
      fileType - 書込み機能が照会されるファイル・タイプ
      戻り値:
      ファイル・タイプがサポートされている場合はtrue、そうでない場合はfalse
    • getMidiFileTypes

      public static int[] getMidiFileTypes​(Sequence sequence)
      指定されたシーケンスからシステムが書込み可能なMIDIファイル・タイプのセットを取得します。
      パラメータ:
      sequence - MIDIファイル・タイプのサポートが照会されるシーケンス
      戻り値:
      一意のサポートされるファイル・タイプのセット。 サポートされているファイル・タイプがない場合、長さ0の配列が返される。
      例外:
      NullPointerException - sequencenullの場合
    • isFileTypeSupported

      public static boolean isFileTypeSupported​(int fileType, Sequence sequence)
      指定されたファイル・タイプのMIDIファイルを、示されたシーケンスから書き込めるかどうかを示します。
      パラメータ:
      fileType - 書込み機能が照会されるファイル・タイプ
      sequence - ファイル書込みサポートが照会されるシーケンス
      戻り値:
      ファイル・タイプがこのシーケンスに対してサポートされている場合はtrue、そうでない場合はfalse
      例外:
      NullPointerException - sequencenullの場合
    • write

      public static int write​(Sequence in, int fileType, OutputStream out) throws IOException
      提供される出力ストリームに示されるMIDIファイル・タイプのファイルを表すバイトのストリームを書き込みます。
      パラメータ:
      in - ファイルへ書き込まれるMIDIデータを含むシーケンス
      fileType - 出力ストリームへ書き込まれるファイルのファイル・タイプ
      out - ファイル・データが書き込まれるストリーム
      戻り値:
      出力ストリームへ書き込まれるバイト数
      例外:
      IOException - 入出力例外が発生した場合
      IllegalArgumentException - システムがそのファイル形式をサポートしていない場合
      NullPointerException - inまたはoutnullの場合
      関連項目:
      isFileTypeSupported(int, Sequence), getMidiFileTypes(Sequence)
    • write

      public static int write​(Sequence in, int type, File out) throws IOException
      提供される外部ファイルに示されるMIDIファイル・タイプのファイルを表すバイトのストリームを書き込みます。
      パラメータ:
      in - ファイルへ書き込まれるMIDIデータを含むシーケンス
      type - 出力ストリームへ書き込まれるファイルのファイル・タイプ
      out - ファイル・データが書き込まれる外部ファイル
      戻り値:
      ファイルへ書き込まれるバイト数
      例外:
      IOException - 入出力例外が発生した場合
      IllegalArgumentException - システムがそのファイル・タイプをサポートしていない場合
      NullPointerException - inまたはoutnullの場合
      関連項目:
      isFileTypeSupported(int, Sequence), getMidiFileTypes(Sequence)