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.