JavaTM Platform
Standard Ed. 6

javax.sound.midi
クラス ShortMessage

java.lang.Object
  上位を拡張 javax.sound.midi.MidiMessage
      上位を拡張 javax.sound.midi.ShortMessage
すべての実装されたインタフェース:
Cloneable

public class ShortMessage
extends MidiMessage

ShortMessage には、ステータスバイトのあとに 2 バイトまでのデータバイトが続く MIDI メッセージが格納されます。これに該当する MIDI メッセージには、チャネルボイス、チャネルモード、システムコモン、システムリアルタイムの各形式、つまりシステムエクスクルーシブとメタイベントを除くすべてが含まれます。ShortMessage クラスでは、MIDI メッセージの内容を取得および設定するメソッドが提供されます。

ShortMessage のいくつかのメソッドには、MIDI のステータスバイトまたはデータバイトを指定するための整数型パラメータがあります。数値がわかっている場合は、それを直接指定できます。システムコモンメッセージおよびシステムリアルタイムメッセージでは、多くの場合 SYSTEM_RESET などの、対応する ShortMessage のフィールドを使用できます。チャネルメッセージでは、ステータスバイトの上位 4 ビットをコマンド値によって指定し、下位 4 ビットを MIDI チャネル番号によって指定します。Java の符号付きバイト形式で受信された MIDI データバイトを変換するには、MidiMessage クラスの説明にある変換コードを使用できます。

関連項目:
SysexMessage, MetaMessage

フィールドの概要
static int ACTIVE_SENSING
          アクティブセンシングメッセージのステータスバイト (0xFE または 254) です。
static int CHANNEL_PRESSURE
          チャネルプレッシャー (アフタータッチ) メッセージのコマンド値 (0xD0 または 208) です。
static int CONTINUE
          コンティニュメッセージのステータスバイト (0xFB または 251) です。
static int CONTROL_CHANGE
          コントロールチェンジメッセージのコマンド値 (0xB0 または 176) です。
static int END_OF_EXCLUSIVE
          システムエンドオブエクスクルーシブメッセージのステータスバイト (0xF7 または 247) です。
static int MIDI_TIME_CODE
          MIDI タイムコードクォータフレームメッセージのステータスバイト (0xF1 または 241) です。
static int NOTE_OFF
          ノート・オフメッセージのコマンド値 (0x80 または 128) です。
static int NOTE_ON
          ノート・オンメッセージのコマンド値 (0x90 または 144) です。
static int PITCH_BEND
          ピッチベンドメッセージのコマンド値 (0xE0 または 224) です。
static int POLY_PRESSURE
          ポリフォニックキープレッシャー (アフタータッチ) メッセージのコマンド値 (0xA0 または 160) です。
static int PROGRAM_CHANGE
          プログラムチェンジメッセージのコマンド値 (0xC0 または 192) です。
static int SONG_POSITION_POINTER
          ソングポジションポインタメッセージのステータスバイト (0xF2 または 242) です。
static int SONG_SELECT
          MIDI ソングセレクトメッセージのステータスバイト (0xF3 または 243) です。
static int START
          スタートメッセージのステータスバイト (0xFA または 250) です。
static int STOP
          ストップメッセージのステータスバイト (0xFC または 252) です。
static int SYSTEM_RESET
          システムリセットメッセージのステータスバイト (0xFF または 255) です。
static int TIMING_CLOCK
          タイミングクロックメッセージのステータスバイト (0xF8 または 248) です。
static int TUNE_REQUEST
          チューンリクエストメッセージのステータスバイト (0xF6 または 246) です。
 
クラス javax.sound.midi.MidiMessage から継承されたフィールド
data, length
 
コンストラクタの概要
  ShortMessage()
          ShortMessage を新しく構築します。
protected ShortMessage(byte[] data)
          ShortMessage を新しく構築します。
 
メソッドの概要
 Object clone()
          このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
 int getChannel()
          このイベントに関連した MIDI チャネルを取得します。
 int getCommand()
          このイベントに関連した MIDI コマンドを取得します。
 int getData1()
          メッセージの第 1 データバイトを取得します。
 int getData2()
          メッセージの第 2 データバイトを取得します。
protected  int getDataLength(int status)
          特定のステータスバイト値に関連したデータバイトの数を取得します。
 void setMessage(int status)
          データバイトを必要としない MIDI メッセージのパラメータを設定します。
 void setMessage(int status, int data1, int data2)
          データバイト 1 つまたは 2 つで構成される MIDI メッセージのパラメータを設定します。
 void setMessage(int command, int channel, int data1, int data2)
          データバイト 2 つで構成されるチャネルメッセージにショートメッセージパラメータを設定します。
 
クラス javax.sound.midi.MidiMessage から継承されたメソッド
getLength, getMessage, getStatus, setMessage
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

MIDI_TIME_CODE

public static final int MIDI_TIME_CODE
MIDI タイムコードクォータフレームメッセージのステータスバイト (0xF1 または 241) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

SONG_POSITION_POINTER

public static final int SONG_POSITION_POINTER
ソングポジションポインタメッセージのステータスバイト (0xF2 または 242) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

SONG_SELECT

public static final int SONG_SELECT
MIDI ソングセレクトメッセージのステータスバイト (0xF3 または 243) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

TUNE_REQUEST

public static final int TUNE_REQUEST
チューンリクエストメッセージのステータスバイト (0xF6 または 246) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

END_OF_EXCLUSIVE

public static final int END_OF_EXCLUSIVE
システムエンドオブエクスクルーシブメッセージのステータスバイト (0xF7 または 247) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

TIMING_CLOCK

public static final int TIMING_CLOCK
タイミングクロックメッセージのステータスバイト (0xF8 または 248) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

START

public static final int START
スタートメッセージのステータスバイト (0xFA または 250) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

CONTINUE

public static final int CONTINUE
コンティニュメッセージのステータスバイト (0xFB または 251) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

STOP

public static final int STOP
ストップメッセージのステータスバイト (0xFC または 252) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

ACTIVE_SENSING

public static final int ACTIVE_SENSING
アクティブセンシングメッセージのステータスバイト (0xFE または 254) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

SYSTEM_RESET

public static final int SYSTEM_RESET
システムリセットメッセージのステータスバイト (0xFF または 255) です。

関連項目:
MidiMessage.getStatus(), 定数フィールド値

NOTE_OFF

public static final int NOTE_OFF
ノート・オフメッセージのコマンド値 (0x80 または 128) です。

関連項目:
定数フィールド値

NOTE_ON

public static final int NOTE_ON
ノート・オンメッセージのコマンド値 (0x90 または 144) です。

関連項目:
定数フィールド値

POLY_PRESSURE

public static final int POLY_PRESSURE
ポリフォニックキープレッシャー (アフタータッチ) メッセージのコマンド値 (0xA0 または 160) です。

関連項目:
定数フィールド値

CONTROL_CHANGE

public static final int CONTROL_CHANGE
コントロールチェンジメッセージのコマンド値 (0xB0 または 176) です。

関連項目:
定数フィールド値

PROGRAM_CHANGE

public static final int PROGRAM_CHANGE
プログラムチェンジメッセージのコマンド値 (0xC0 または 192) です。

関連項目:
定数フィールド値

CHANNEL_PRESSURE

public static final int CHANNEL_PRESSURE
チャネルプレッシャー (アフタータッチ) メッセージのコマンド値 (0xD0 または 208) です。

関連項目:
定数フィールド値

PITCH_BEND

public static final int PITCH_BEND
ピッチベンドメッセージのコマンド値 (0xE0 または 224) です。

関連項目:
定数フィールド値
コンストラクタの詳細

ShortMessage

public ShortMessage()
ShortMessage を新しく構築します。新しいメッセージの内容には、有効な MIDI メッセージが指定されることが保証されます。構築後にメッセージの内容を設定するには、setMessage メソッドの 1 つを使用します。

関連項目:
setMessage(int)

ShortMessage

protected ShortMessage(byte[] data)
ShortMessage を新しく構築します。

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

setMessage

public void setMessage(int status)
                throws InvalidMidiDataException
データバイトを必要としない MIDI メッセージのパラメータを設定します。

パラメータ:
status - MIDI ステータスバイト
例外:
InvalidMidiDataException - status で、データバイトを必要としない メッセージに対して有効な MIDI ステータスバイトが指定されていない場合
InvalidMidiDataException
関連項目:
setMessage(int, int, int), setMessage(int, int, int, int)

setMessage

public void setMessage(int status,
                       int data1,
                       int data2)
                throws InvalidMidiDataException
データバイト 1 つまたは 2 つで構成される MIDI メッセージのパラメータを設定します。データバイト 1 つで構成されるメッセージの場合は 2 番目のデータバイトが無視され、データバイトなしのメッセージの場合は両方のデータバイトが無視されます。

パラメータ:
status - MIDI ステータスバイト
data1 - 第 1 データバイト
data2 - 第 2 データバイト
例外:
InvalidMidiDataException - メッセージを構成するステータスバイトまたはすべてのデータバイトが 有効な MIDI メッセージを指定していない場合
InvalidMidiDataException
関連項目:
setMessage(int, int, int, int), setMessage(int)

setMessage

public void setMessage(int command,
                       int channel,
                       int data1,
                       int data2)
                throws InvalidMidiDataException
データバイト 2 つで構成されるチャネルメッセージにショートメッセージパラメータを設定します。データバイト 1 つだけで構成されるメッセージの場合は 2 番目のデータバイトが無視され、データバイトなしのメッセージの場合は両方のデータバイトが無視されます。

パラメータ:
command - このメッセージで表される MIDI コマンド
channel - メッセージに関連したチャネル
data1 - 第 1 データバイト
data2 - 第 2 データバイト
例外:
InvalidMidiDataException - メッセージを構成するステータスバイトまたはすべてのデータバイトが 有効な MIDI メッセージを指定していない場合
InvalidMidiDataException
関連項目:
setMessage(int, int, int), setMessage(int), getCommand(), getChannel(), getData1(), getData2()

getChannel

public int getChannel()
このイベントに関連した MIDI チャネルを取得します。このメソッドでは、イベントが MIDI チャネルメッセージであることが想定されています。 イベントが MIDI チャネルメッセージでない場合には、戻り値は意味のあるものにはなりません。

戻り値:
メッセージに関連した MIDI チャネル
関連項目:
setMessage(int, int, int, int)

getCommand

public int getCommand()
このイベントに関連した MIDI コマンドを取得します。このメソッドでは、イベントが MIDI チャネルメッセージであることが想定されています。 イベントが MIDI チャネルメッセージでない場合には、戻り値は意味のあるものにはなりません。

関連項目:
setMessage(int, int, int, int)

getData1

public int getData1()
メッセージの第 1 データバイトを取得します。

戻り値:
data1 フィールドの値
関連項目:
setMessage(int, int, int)

getData2

public int getData2()
メッセージの第 2 データバイトを取得します。

戻り値:
data2 フィールドの値
関連項目:
setMessage(int, int, int)

clone

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

定義:
クラス MidiMessage 内の clone
戻り値:
このインスタンスの複製
関連項目:
Cloneable

getDataLength

protected final int getDataLength(int status)
                           throws InvalidMidiDataException
特定のステータスバイト値に関連したデータバイトの数を取得します。

パラメータ:
status - ショート MIDI メッセージを表すステータスバイト値
戻り値:
バイト単位のデータ長 (0、1、または 2)
例外:
InvalidMidiDataException - status 引数でショートメッセージのステータスバイトを 指定していない場合
InvalidMidiDataException

JavaTM Platform
Standard Ed. 6

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

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