JavaTM 2
Platform
Std. Ed. v1.4.0

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 をインスタンス化することはできません。メソッドはすべて静的です。


メソッドの概要
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()
          デフォルトシーケンサを取得します。
static Soundbank getSoundbank(File file)
          指定された File から Soundbank を読み込むことによって、Soundbank を構築します。
static Soundbank getSoundbank(InputStream stream)
          指定されたストリームから MIDI サウンドバンクを読み込むことによって、MIDI サウンドバンクを構築します。
static Soundbank getSoundbank(URL url)
          指定された URL から Soundbank を読み込むことによって、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 から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

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 デバイスを情報オブジェクトが表示しない場合
関連項目:
getMidiDeviceInfo()

getReceiver

public static Receiver getReceiver()
                            throws MidiUnavailableException
外部 MIDI ポートまたは他のデフォルトソースから、MIDI レシーバを取得します。

戻り値:
デフォルト MIDI レシーバ
例外:
MidiUnavailableException - リソースの制約のためにデフォルトレシーバを使用できない場合

getTransmitter

public static Transmitter getTransmitter()
                                  throws MidiUnavailableException
外部 MIDI ポートまたは他のデフォルトソースから、MIDI トランスミッタを取得します。

戻り値:
デフォルト MIDI トランスミッタ
例外:
MidiUnavailableException - リソースの制約のためにデフォルトトランスミッタを使用できない場合

getSynthesizer

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

戻り値:
デフォルトシンセサイザ
例外:
MidiUnavailableException - リソースの制約のためにそのシンセサイザを使用できない場合

getSequencer

public static Sequencer getSequencer()
                              throws MidiUnavailableException
デフォルトシーケンサを取得します。

戻り値:
デフォルトシーケンサ
例外:
MidiUnavailableException - リソースの制約のためにそのシーケンサを使用できない場合

getSoundbank

public static Soundbank getSoundbank(InputStream stream)
                              throws InvalidMidiDataException,
                                     IOException
指定されたストリームから MIDI サウンドバンクを読み込むことによって、MIDI サウンドバンクを構築します。ストリームは有効な MIDI サウンドバンクファイルを示す必要があります。一般的に、MIDI サウンドバンクプロバイダは、そのストリームをサポートするかどうかを判定する前にデータをいくらか読み込む必要があります。これらの構文解析には、ストリームをマークし、ストリームをサポートするかどうかを判定するのに十分なデータを読み込み、サポートしない場合はストリームの読み込みポインタをもとの位置に戻す、という機能が必要です。入力ストリームがこれをサポートしない場合、このメソッドは IOException をスローして失敗します。

パラメータ:
stream - サウンドバンクデータのソース
戻り値:
サウンドバンク
例外:
InvalidMidiDataException - システムが認識した有効な MIDI サウンドバンクデータをストリームが示さない場合
IOException - サウンドバンクをロードするときにに入出力エラーが発生した場合
関連項目:
InputStream.markSupported(), InputStream.mark(int)

getSoundbank

public static Soundbank getSoundbank(URL url)
                              throws InvalidMidiDataException,
                                     IOException
指定された URL から Soundbank を読み込むことによって、Soundbank を構築します。URL は有効な MIDI サウンドバンクファイルを示す必要があります。

パラメータ:
url - サウンドバンクデータのソース
戻り値:
サウンドバンク
例外:
InvalidMidiDataException - システムが認識した有効な MIDI サウンドバンクデータを URL が示さない場合
IOException - サウンドバンクをロードするときにに入出力エラーが発生した場合

getSoundbank

public static Soundbank getSoundbank(File file)
                              throws InvalidMidiDataException,
                                     IOException
指定された File から Soundbank を読み込むことによって、Soundbank を構築します。File は有効な MIDI サウンドバンクファイルを示す必要があります。

パラメータ:
file - サウンドバンクデータのソース
戻り値:
サウンドバンク
例外:
InvalidMidiDataException - システムが認識した有効な MIDI サウンドバンクデータを File が示さない場合
IOException - サウンドバンクをロードするときにに入出力エラーが発生した場合

getMidiFileFormat

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

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

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

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

getMidiFileFormat

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

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

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

getMidiFileFormat

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

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

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

getSequence

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

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

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

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

getSequence

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

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

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

getSequence

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

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

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

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 の配列が返される

isFileTypeSupported

public static boolean isFileTypeSupported(int fileType,
                                          Sequence sequence)
指定されたファイルタイプの MIDI ファイルを、示されたシーケンスから書き込めるかどうかを示します。

パラメータ:
fileType - 書き込み機能が照会されるファイルタイプ
sequence - ファイル書き込みサポートが照会されるシーケンス
戻り値:
ファイルタイプがこのシーケンスに対してサポートされている場合は true、そうでない場合は false

write

public static int write(Sequence in,
                        int fileType,
                        OutputStream out)
                 throws IOException
提供される外部ストリームに示される MIDI ファイルタイプを表すバイトのストリームを書き込みます。

パラメータ:
in - ファイルへ書き込まれる MIDI データを含むシーケンス
fileType - 出力ストリームへ書き込まれるファイルのファイルタイプ
out - ファイルデータが書き込まれるストリーム
戻り値:
出力ストリームへ書き込まれるバイト数
例外:
IOException - 入出力例外が発生した場合
IllegalArgumentException - システムがそのファイル形式をサポートしていない場合
関連項目:
isFileTypeSupported(int, Sequence), getMidiFileTypes(Sequence)

write

public static int write(Sequence in,
                        int type,
                        File out)
                 throws IOException
提供される外部ファイルに示される MIDI ファイルタイプを表すバイトのストリームを書き込みます。

パラメータ:
in - ファイルへ書き込まれる MIDI データを含むシーケンス
out - ファイルデータが書き込まれる外部ファイル
戻り値:
ファイルへ書き込まれるバイト数
例外:
IOException - 入出力例外が発生した場合
IllegalArgumentException - システムがそのファイルタイプをサポートしていない場合
関連項目:
isFileTypeSupported(int, Sequence), getMidiFileTypes(Sequence)

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.