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.