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
public byte[] getMessage()
getLength() メソッドによって報告されます。MidiMessage データを含むバイト配列public int getStatus()
MidiMessage クラスの説明を参照してください。public int getLength()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.