JavaTM Platform
Standard Ed. 6

javax.sound.midi
클래스 SysexMessage

java.lang.Object 
  상위를 확장 javax.sound.midi.MidiMessage 
      상위를 확장 javax.sound.midi.SysexMessage
모든 구현된 인터페이스:
Cloneable


public class SysexMessage
extends MidiMessage

SysexMessage 객체는, MIDI 시스템에크스크루시브멧세이지를 나타냅니다.

MIDI 파일로부터 읽히는 시스템에크스크루시브멧세이지에는, 반드시 길이가 정의되고 있습니다. MIDI 파일로부터 읽어들이는 시스템에크스크루시브멧세이지의 데이터는, 시스템에크스크루시브멧세이지스테이타스바이트 (0xF0 또는 0xF7), 모든 메세지 데이터 바이트, 마지막에 엔드오브에크스크루시브후라그 (0xF7)의 순서에 SysexMessage 의 데이터 배열에 포함됩니다. 그 때문에,SysexMessage 객체가 보고하는 길이는, 시스템에크스크루시브데이타의 길이에 상태 바이트의 1 바이트와 엔드오브에크스크루시브후라그의 1 바이트의 합계 2 바이트를 더한 길이가 됩니다.

표준 MIDI 파일 스펙의 규정에서는, MIDI 파일로부터 읽히는 SysexMessage 의 상태 바이트의 정당한 값에는 다음의 2 개가 있습니다.

MIDI 와이어 프로토콜을 사용해 수신된 시스템에크스크루시브데이타가 Java Sound 에 의해 처리되면(자), 데이터는 1 개 이상의 SysexMessages 에 배치됩니다. 이 경우, 시스템에크스크루시브데이타의 길이는 사전에는 모릅니다. 시스템에크스크루시브데이타의 마지막은, MIDI 와이어 바이트 스트림의 엔드오브에크스크루시브후라그 (0xF7)로 표현되고 있습니다.

특정의 시스템에크스크루시브멧세이지의 데이터를 거둔 최초의 SysexMessage 객체는, 상태치가 0xF0 입니다. 이 메세지에, 그 모든 시스템에크스크루시브데이타가 포함되어 있는 경우, 그 말미는 상태 바이트 0xF7 (EOX)입니다. 포함되지 않은 시스템에크스크루시브데이타가 있는 경우는, 상태치가 0xF7 의 1 개 이상의 SysexMessages 로 추가의 시스템에크스크루시브데이타가 송신됩니다. 그 시스템에크스크루시브멧세이지의 데이터의 말미를 포함하고 있는 SysexMessage 는, 말미의 값이 시스템에크스크루시브멧세이지의 마지막을 나타내는 0xF7 (EOX)입니다.

SysexMessages 객체로부터의 시스템에크스크루시브데이타가 MIDI 와이어 프로토콜로 전송 되는 경우는, 선두의 0xF0 상태 바이트, 시스템에크스크루시브데이타 자체, 및 말미의 0xF7 (EOX) 바이트만이 송신됩니다. SysexMessage 에 추가의 시스템에크스크루시브데이타가 포함되어 있는 것을 나타내는 0xF7 상태 바이트는, MIDI 와이어 프로토콜에서는 송신되지 않습니다.


필드의 개요
static int SPECIAL_SYSTEM_EXCLUSIVE
          MIDI 파일로 사용되는, 특별한 시스템에크스크루시브멧세이지의 상태 바이트입니다 (0xF7 또는 247).
static int SYSTEM_EXCLUSIVE
          시스템에크스크루시브멧세이지의 상태 바이트 (0xF0 또는 240)입니다.
 
클래스 javax.sound.midi. MidiMessage 로부터 상속된 필드
data , length
 
생성자 의 개요
  SysexMessage ()
          SysexMessage 를 새롭게 구축합니다.
protected SysexMessage (byte[] data)
          SysexMessage 를 새롭게 구축합니다.
 
메소드의 개요
 Object clone ()
          이 객체와 같은 클래스에서, 같은 내용의 새로운 객체를 작성합니다.
 byte[] getData ()
          시스템에크스크루시브멧세이지의 데이터의 카피를 가져옵니다.
 void setMessage (byte[] data, int length)
          시스템에크스크루시브멧세이지의 데이터를 설정합니다.
 void setMessage (int status, byte[] data, int length)
          시스템에크스크루시브멧세이지의 데이터를 설정합니다.
 
클래스 javax.sound.midi. MidiMessage 로부터 상속된 메소드
getLength , getMessage , getStatus
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

SYSTEM_EXCLUSIVE

public static final int SYSTEM_EXCLUSIVE
시스템에크스크루시브멧세이지의 상태 바이트 (0xF0 또는 240)입니다.

관련 항목:
MidiMessage.getStatus() , 정수 필드치

SPECIAL_SYSTEM_EXCLUSIVE

public static final int SPECIAL_SYSTEM_EXCLUSIVE
MIDI 파일로 사용되는, 특별한 시스템에크스크루시브멧세이지의 상태 바이트입니다 (0xF7 또는 247). 이 값은, 리얼타임 「MIDI 와이어」프로토콜로 사용되는 END_OF_EXCLUSIVE 와 같습니다.

관련 항목:
MidiMessage.getStatus() , 정수 필드치
생성자 의 상세

SysexMessage

public SysexMessage()
SysexMessage 를 새롭게 구축합니다. 새로운 메세지의 내용에는, 유효한 MIDI 메세지가 지정되는 것이 보증됩니다. 구축 후에 메세지의 내용을 설정하려면 ,setMessage 메소드의 1 개를 사용합니다.

관련 항목:
setMessage(byte[], int)

SysexMessage

protected SysexMessage(byte[] data)
SysexMessage 를 새롭게 구축합니다.

파라미터:
data - 상세한 메세지를 포함한 바이트의 배열. 메세지 데이터는 setMessage 메소드를 사용해 변경할 수 있는
관련 항목:
setMessage(byte[], int)
메소드의 상세

setMessage

public void setMessage(byte[] data,
                       int length)
                throws InvalidMidiDataException 
시스템에크스크루시브멧세이지의 데이터를 설정합니다. 데이터 배열의 선두의 바이트는, 유효한 시스템에크스크루시브스테이타스바이트 (0xF0 또는 0xF7)일 필요가 있습니다.

오버라이드(override):
클래스 MidiMessage 내의 setMessage
파라미터:
data - 시스템에크스크루시브멧세이지의 데이터
length - 상태 바이트등의, 배열내의 유효한 메세지 데이터의 길이
예외:
InvalidMidiDataException

setMessage

public void setMessage(int status,
                       byte[] data,
                       int length)
                throws InvalidMidiDataException 
시스템에크스크루시브멧세이지의 데이터를 설정합니다.

파라미터:
status - 메세지의 상태 바이트 (0xF0 또는 0xF7)
data - 시스템에크스크루시브멧세이지의 데이터
length - 상태 바이트등의, 배열내의 유효한 메세지 데이터의 길이
예외:
InvalidMidiDataException

getData

public byte[] getData()
시스템에크스크루시브멧세이지의 데이터의 카피를 가져옵니다. 반환되는 바이트의 배열에, 상태 바이트는 포함되지 않습니다.

반환값:
시스템에크스크루시브멧세이지데이타를 포함한 배열

clone

public Object  clone()
이 객체와 같은 클래스에서, 같은 내용의 새로운 객체를 작성합니다.

정의:
클래스 MidiMessage 내의 clone
반환값:
이 인스턴스의 복제
관련 항목:
Cloneable

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 도 참조해 주세요.