JavaTM Platform
Standard Ed. 6

javax.sound.midi
クラス MidiMessage

java.lang.Object
  上位を拡張 javax.sound.midi.MidiMessage
すべての実装されたインタフェース:
Cloneable
直系の既知のサブクラス:
MetaMessage, ShortMessage, SysexMessage

public abstract class MidiMessage
extends Object
implements Cloneable

MidiMessage は MIDI メッセージの基底クラスです。MetaMessage は、シンセサイザが応答できる標準の 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 データを表現する際にバイトではなく整数型を使用します。たとえば、MidiMessagegetStatus() メソッドは MIDI ステータスバイトを整数型として返します。Java Sound の外部で符号付きバイトとして符号化された MIDI データを処理する場合は、次の変換式を使ってバイトを整数型に変換できます。

int i = (int)(byte & 0xFF)

単に既知の MIDI バイト値をメソッドパラメータとして渡す必要があるだけの場合は、10 進表記法または 16 進表記法を使って、その MIDI バイト値を整数型として直接表すことができます。たとえば、「アクティブセンシング」ステータスバイトを最初の引数として ShortMessage の setMessage(int) メソッドに渡す場合は、このステータスバイトを 254 または 0xFE として表すことができます。

関連項目:
Track, Sequence, Receiver

フィールドの概要
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 メッセージのデータを設定します。
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

data

protected byte[] data
MIDI メッセージデータです。最初のバイトはメッセージのステータスバイトです。 メッセージの長さまでの後続のバイトが、このメッセージのデータバイトです。

関連項目:
getLength()

length

protected int length
MIDI メッセージのバイト数で、ステータスバイトとデータバイトを含みます。

関連項目:
getLength()
コンストラクタの詳細

MidiMessage

protected MidiMessage(byte[] data)
MidiMessage を新しく構築します。この protected コンストラクタは具象サブクラスによって呼び出され、その具象サブクラスでは有効な MIDI メッセージ全体をデータ配列に指定します。

パラメータ:
data - 詳細なメッセージを含むバイトの配列。メッセージデータは setMessage メソッドを使って変更できる
関連項目:
setMessage(byte[], int)
メソッドの詳細

setMessage

protected void setMessage(byte[] data,
                          int length)
                   throws InvalidMidiDataException
MIDI メッセージのデータを設定します。この protected メソッドは具象サブクラスによって呼び出され、その具象サブクラスでは有効な MIDI メッセージ全体をデータ配列に指定します。

例外:
InvalidMidiDataException

getMessage

public byte[] getMessage()
MIDI メッセージデータを取得します。返されるバイト配列の最初のバイトはメッセージのステータスバイトです。メッセージの長さまでの後続のバイトが、データバイトです。バイト配列の長さは実際のメッセージより長くなる場合があります。 バイト単位でのメッセージの全長は、getLength() メソッドによって報告されます。

戻り値:
まとまった MidiMessage データを含むバイト配列

getStatus

public int getStatus()
MIDI メッセージのステータスバイトを取得します。ステータス「バイト」は整数型として表されます。 MidiMessage クラスの説明を参照してください。

戻り値:
このイベントのステータスバイトの整数型表示

getLength

public int getLength()
MIDI メッセージの全長をバイトで取得します。MIDI メッセージは 1 つのステータスバイトとゼロまたはそれ以上のデータバイトで構成されます。戻り値は、システムリアルタイムメッセージを示す 1、チャネルメッセージを示す 2 または 3、メタメッセージおよびシステムエクスクルーシブメッセージを示すその他の値になります。

戻り値:
バイト表示によるメッセージの長さ

clone

public abstract Object clone()
このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。

オーバーライド:
クラス Object 内の clone
戻り値:
このインスタンスの複製
関連項目:
Cloneable

JavaTM Platform
Standard Ed. 6

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

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。