public abstract class MidiMessage extends Object implements Cloneable
MidiMessage
はMIDIメッセージの基底クラスです。MidiMessageは、シンセサイザが応答できる標準のMIDIメッセージだけでなく、シーケンサ・プログラムが使用できる「メタイベント」も含みます。また、歌詞、著作権、テンポ指示、拍子記号および調記号、マーカーなどの情報のメタイベントがあります。詳細については、MIDI Manufacturer's Association (http://www.midi.org)発行の『Complete MIDI 1.0 Detailed Specification』に収められている「Standard MIDI Files 1.0」の仕様を参照してください。
基底MidiMessage
クラスは、MIDIメッセージに関する3種類の情報へのアクセスを提供します。
MidiMessage
は取得のメソッドを含みますが、これらの値は設定しません。これらの値の設定はサブクラスにより行われます。
MIDI標準ではMIDIデータをバイトで表現します。しかし、JavaTMは符号付きバイトを使用しているため、Java Sound APIは、MIDIデータを表現する際にバイトではなく整数型を使用します。たとえば、MidiMessage
のgetStatus()
メソッドはMIDIステータス・バイトを整数型として返します。Java Soundの外部で符号付きバイトとしてエンコードされたMIDIデータを処理する場合は、次の変換式を使ってバイトを整数型に変換できます。
int i = (int)(byte & 0xFF)
単に既知のMIDIバイト値をメソッド・パラメータとして渡す必要があるだけの場合は、10進表記法または16進表記法を使用して、そのMIDIバイト値を整数型として直接表すことができます。たとえば、「アクティブ・センシング」ステータス・バイトを最初の引数としてShortMessageのsetMessage(int)
メソッドに渡す場合は、このステータス・バイトを254または0xFEとして表すことができます。
修飾子と型 | フィールドと説明 |
---|---|
protected byte[] |
data
MIDIメッセージ・データです。
|
protected int |
length
MIDIメッセージのバイト数で、ステータス・バイトとデータ・バイトを含みます。
|
修飾子 | コンストラクタと説明 |
---|---|
protected |
MidiMessage(byte[] data)
新しい
MidiMessage を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
abstract Object |
clone()
このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
|
int |
getLength()
MIDIメッセージの全長をバイトで取得します。
|
byte[] |
getMessage()
MIDIメッセージ・データを取得します。
|
int |
getStatus()
MIDIメッセージのステータス・バイトを取得します。
|
protected void |
setMessage(byte[] data, int length)
MIDIメッセージのデータを設定します。
|
protected byte[] data
getLength()
protected int length
getLength()
protected MidiMessage(byte[] data)
MidiMessage
を構築します。このprotectedコンストラクタは具象サブクラスによって呼び出され、その具象サブクラスでは有効なMIDIメッセージ全体をデータ配列に指定します。data
- 詳細なメッセージを含むバイトの配列。メッセージ・データはsetMessage
メソッドを使って変更できる。setMessage(byte[], int)
protected void setMessage(byte[] data, int length) throws InvalidMidiDataException
data
- MIDIメッセージのデータ・バイトlength
- dataバイト配列のバイト数InvalidMidiDataException
- パラメータ値が有効なMIDIメタ・メッセージを指定していない場合public byte[] getMessage()
getLength()
メソッドによって報告されます。MidiMessage
データを含むバイト配列public int getStatus()
MidiMessage
クラスの説明を参照してください。public int getLength()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.