$$ \definecolor{rr}{rgb}{0.95,0.1,0} \definecolor{bb}{rgb}{0,0.4,1} \definecolor{gg}{rgb}{0,0.6,0} \definecolor{yy}{rgb}{0.8,0.5,0} \definecolor{pp}{rgb}{0.9,0,0.5} $$
내성적 물망초
: 내 성적 물리 때문에 망하기 10초 전

MidiMessage 클래스

~카테고리:
java/midi
패키지: javax.sound.midi
java.lang.Object
javax.sound.midi.MidiMessage
모두 구현된 인터페이스:
Cloneable
직접 알려진 서브클래스:
MetaMessage, ShortMessage, SysexMessage

public abstract class MidiMessage extends Object implements Cloneable

MidiMessage는 미디메시지를 나타내는 기본 클래스이다. 신디사이저가 들을 표준미디메시지뿐 아니라 시퀀서 프로그램이 쓸 "메타이벤트"도 포함된다. 가사, 저작권, 빠르기 지시, 박자, 조표, 표지 등의 정보를 위한 메타이벤트들이 있다. 미디제작가협회(MIDI Manufacturer's Association, http://www.midi.org)가 펴낸 완성형미디1.0상세명세서(Complete MIDI 1.0 Detailed Specification)의 일부인 표준미디파일1.0명세서(Standard MIDI Files 1.0 specification)에서 추가정보를 볼 수 있다.

기본 MidiMessage 클래스는 미디메시지에 관해 다음 세 가지 정보에 접근을 제공한다.

  • 메시지의 상태바이트
  • 메시지의 총 길이 바이트 수 (상태바이트 + 다른 데이터 바이트들)
  • 완전한 메시지가 들어있는 바이트 배열

MidiMessage에는 이 값들을 얻는 메쏘드는 있고 설정하는 메쏘드는 없다. 설정은 하위 클래스들의 몫이다.

미디 표준은 미디데이터를 바이트 단위로 표현한다. 그러나 Java™에서는 signed 바이트를 쓰므로, Java Sound API는 미디데이터를 표현할 때 바이트 대신 정수를 쓴다. 예를 들어, MidiMessagegetStatus() 메쏘드는 미디상태바이트를 정수로 반환한다. Java Sound 외부에서 발생했지만 이제 signed 바이트로 인코딩되는 미디데이터를 처리하는 경우, 다음 변환으로써 바이트를 정수로 변환시킬 수 있다.

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

알려진 미디 바이트 값을 메쏘드 인수로서 전달해야 할 뿐인 경우, 그 값은 (예를 들어) 10진수나 16진수로 직접 정수로 표현될 수 있다. 예를 들어, ShortMessage의 setMessage(int) 메쏘드의 첫째 인수로 전달될 "활성 감지" 상태바이트는 254 또는 0xFE로 표시 될 수 있다.

같이보기:
Track, Sequence, Receiver

필드 요약

필드
제한자, 자료형 식별자, 설명
protected byte[] data 미디메시지 데이터
protected int length 미디메시지의 바이트 수. 상태바이트와 다른 바이트들을 포함한다.

생성자 요약

생성자
제한자 식별자, 설명
protected MidiMessage(
byte[] data
)
새 MidiMessage를 생성.

메쏘드 요약

메쏘드
제한자, 자료형 식별자, 설명
abstract Object clone() 내용물과 클래스가 이 오브젝트와 같은 오브젝트를 새로 생성.
int getLength() 미디메시지의 총 길이를 바이트 수로 얻기.
byte[] getMessage() 미디메시지의 데이터를 얻기.
int getStatus() 미디메시지의 상태바이트를 얻기.
protected void setMessage(
byte[] data
,
int length
)
미디메시지의 데이터를 설정.
java.lang.Object에서 상속받은 메쏘드
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
https://docs.oracle.com/javase/7/docs/api/javax/sound/midi/MidiMessage.html