JavaTM Platform
Standard Ed. 6

javax.sound.midi
인터페이스 Sequencer

모든 슈퍼 인터페이스:
MidiDevice


public interface Sequencer
extends MidiDevice

MIDI 순서 를 재생하는 하드웨어 디바이스 또는 소프트웨어 디바이스를 「시퀀서」라고 합니다. MIDI 순서에는, 표준 MIDI 파일로부터 읽힌 데이터등의, 시각표 나타난 MIDI 데이터의 리스트가 포함됩니다. 대부분의 시퀀서는, 순서를 작성해 편집하는 기능도 제공합니다.

Sequencer 인터페이스에는, 다음과 같은 기본적인 MIDI 시퀀서 조작이 포함됩니다.

게다가 직접, 또는 Sequencer 를 액세스 할 수 있는 객체를 통해서 간접적으로, 다음의 조작도 지원됩니다.

관련 항목:
Sequencer.SyncMode , addMetaEventListener(javax.sound.midi.MetaEventListener) , ControllerEventListener , Receiver , Transmitter , MidiDevice

상자의 클래스의 개요
static class Sequencer.SyncMode
          SyncMode 객체는, MIDI 시퀀서로 다루어지고 있는 시간을 마스터 또는 슬레이브 디바이스와 동기화하는 방법의 1 개를 표현하고 있습니다.
 
인터페이스 javax.sound.midi. MidiDevice 로부터 상속된 상자의 클래스/인터페이스
MidiDevice.Info
 
필드의 개요
static int LOOP_CONTINUOUSLY
          루프는 특정 회수 반복해 실행된 다음에 종료하는 것이 아니라 무제한하게 계속하는 것을 나타내는 값
 
메소드의 개요
 int[] addControllerEventListener (ControllerEventListener  listener, int[] controllers)
          요구된 종류의 제어 변경 이벤트를 시퀀서가 처리할 때에 통지를 받기 위한 콘트롤러 이벤트 청취자를 등록합니다.
 boolean addMetaEventListener (MetaEventListener  listener)
          메타이벤트가 순서로 발생해 시퀀서에 의해 처리될 때에 통지를 받기 (위해)때문에 메타이벤트리스나를 등록합니다.
 int getLoopCount ()
          재생의 반복수를 가져옵니다.
 long getLoopEndPoint ()
          루프의 종점을 가져옵니다 (MIDI 틱 단위).
 long getLoopStartPoint ()
          루프의 시점을 가져옵니다 (MIDI 틱 단위).
 Sequencer.SyncMode getMasterSyncMode ()
          이 시퀀서의 현재의 마스터 동기 모드를 가져옵니다.
 Sequencer.SyncMode [] getMasterSyncModes ()
          이 시퀀서가 지원하는 마스터 동기 모드세트를 가져옵니다.
 long getMicrosecondLength ()
          마이크로 세컨드로 나타낸 현재의 순서의 길이를 가져옵니다.
 long getMicrosecondPosition ()
          순서상의 현재의 위치를 마이크로 세컨드 단위로 가져옵니다.
 Sequence getSequence ()
          시퀀서가 현재 조작하고 있는 순서를 가져옵니다.
 Sequencer.SyncMode getSlaveSyncMode ()
          이 시퀀서의 현재의 슬레이브 동기 모드를 가져옵니다.
 Sequencer.SyncMode [] getSlaveSyncModes ()
          시퀀서가 지원하는 슬레이브 동기 모드세트를 가져옵니다.
 float getTempoFactor ()
          시퀀서의 현재의 템포 계수를 돌려줍니다.
 float getTempoInBPM ()
          1 분 당의 비트로 표시되는 현재의 템포를 가져옵니다.
 float getTempoInMPQ ()
          사분 음표 당의 마이크로 세컨드로 표시되는 현재의 템포를 가져옵니다.
 long getTickLength ()
          MIDI 틱으로 나타낸 현재의 순서의 길이를 가져옵니다.
 long getTickPosition ()
          순서의 현재의 위치를 MIDI 틱 단위로 가져옵니다.
 boolean getTrackMute (int track)
          트럭의 현재의 뮤트 상태를 가져옵니다.
 boolean getTrackSolo (int track)
          트럭의 현재의 솔로 상태를 가져옵니다.
 boolean isRecording ()
          시퀀서가 현재 녹음중인가 어떤가를 나타냅니다.
 boolean isRunning ()
          시퀀서가 현재 실행중인가 어떤가를 나타냅니다.
 void recordDisable (Track  track)
          지정된 트럭에 대해서, 녹음 불가로 합니다.
 void recordEnable (Track  track, int channel)
          지정된 트럭에, 특정의 채널로 수신하는 이벤트를 녹음할 준비를 합니다.
 int[] removeControllerEventListener (ControllerEventListener  listener, int[] controllers)
          1 개이상의 종류의 콘트롤러 이벤트에 대해, 콘트롤러 이벤트 청취자의 처리 대상을 삭제합니다.
 void removeMetaEventListener (MetaEventListener  listener)
          실제로 청취자가 등록되었을 경우, 이 시퀀서의 등록제청취자의 리스트로부터 지정된 메타이벤트리스나를 삭제합니다.
 void setLoopCount (int count)
          루프를 재생하는 반복 회수를 설정합니다.
 void setLoopEndPoint (long tick)
          루프로 마지막에 재생되는 MIDI 틱을 설정합니다.
 void setLoopStartPoint (long tick)
          루프로 재생하는 최초의 MIDI 틱을 설정합니다.
 void setMasterSyncMode (Sequencer.SyncMode  sync)
          이 시퀀서가 사용하는 타이밍 정보의 소스를 설정합니다.
 void setMicrosecondPosition (long microseconds)
          순서상의 현재의 위치를 마이크로 세컨드 단위로 설정합니다.
 void setSequence (InputStream  stream)
          시퀀서가 조작하는 현재의 순서를 설정합니다.
 void setSequence (Sequence  sequence)
          시퀀서가 조작하는 현재의 순서를 설정합니다.
 void setSlaveSyncMode (Sequencer.SyncMode  sync)
          시퀀서의 슬레이브 동기 모드를 설정합니다.
 void setTempoFactor (float factor)
          지정된 계수에 의해 시퀀서의 실제의 재생 템포를 슬캘링 합니다.
 void setTempoInBPM (float bpm)
          템포를 1 분 당의 비트로 설정합니다.
 void setTempoInMPQ (float mpq)
          템포를 사분 음표 당의 마이크로 세컨드로 설정합니다.
 void setTickPosition (long tick)
          현재의 시퀀서의 위치를 MIDI 틱으로 설정합니다.
 void setTrackMute (int track, boolean mute)
          트럭의 뮤트 상태를 설정합니다.
 void setTrackSolo (int track, boolean solo)
          트럭의 솔로 상태를 설정합니다.
 void start ()
          현재 로드 되고 있는 순서의 MIDI 데이터의 재생을 개시합니다.
 void startRecording ()
          MIDI 데이터의 녹음 및 재생을 개시합니다.
 void stop ()
          액티브의 경우 녹음을 정지해, 현재 로드 되고 있는 순서가 있으면, 그 재생을 정지합니다.
 void stopRecording ()
          액티브의 경우 녹음을 정지합니다.
 
인터페이스 javax.sound.midi. MidiDevice 로부터 상속된 메소드
close , getDeviceInfo , getMaxReceivers , getMaxTransmitters , getReceiver , getReceivers , getTransmitter , getTransmitters , isOpen , open
 

필드의 상세

LOOP_CONTINUOUSLY

static final int LOOP_CONTINUOUSLY
루프는 특정 회수 반복해 실행된 다음에 종료하는 것이 아니라 무제한하게 계속하는 것을 나타내는 값

도입된 버젼:
1.5
관련 항목:
setLoopCount(int) , 정수 필드치
메소드의 상세

setSequence

void setSequence(Sequence  sequence)
                 throws InvalidMidiDataException 
시퀀서가 조작하는 현재의 순서를 설정합니다.

이 메소드는,Sequencer 가 닫고 있는 경우에서도 호출할 수가 있습니다.

파라미터:
sequence - 로드하는 순서
예외:
InvalidMidiDataException - 순서가 무효인 MIDI 데이터를 포함하고 있는지, 순서가 지원되어 있지 않은 경우

setSequence

void setSequence(InputStream  stream)
                 throws IOException ,
                        InvalidMidiDataException 
시퀀서가 조작하는 현재의 순서를 설정합니다. 스트림은 MIDI 파일 데이터를 나타낼 필요가 있습니다.

이 메소드는,Sequencer 가 닫고 있는 경우에서도 호출할 수가 있습니다.

파라미터:
stream - MIDI 파일 데이터를 포함한 스트림
예외:
IOException - 스트림의 read중에 입출력 예외가 발생했을 경우
InvalidMidiDataException - 스트림로 무효인 데이터가 발생했는지, 또는 스트림이 지원되어 있지 않은 경우

getSequence

Sequence  getSequence()
시퀀서가 현재 조작하고 있는 순서를 가져옵니다.

이 메소드는,Sequencer 가 닫고 있는 경우에서도 호출할 수가 있습니다.

반환값:
현재의 순서, 또는 순서가 현재 설정되어 있지 않은 경우는 null

start

void start()
현재 로드 되고 있는 순서의 MIDI 데이터의 재생을 개시합니다. 재생은 현재의 위치로부터 시작됩니다. 재생 위치가 루프의 종점에 이르렀을 때에 루프 카운트가 1 이상의 경우에는, 루프의 시점으로부터 재생이 재개되어 이것이 setLoopCount 로 설정된 반복수만큼 반복해집니다. 그 반복의 뒤, 또는 루프 카운트가 0 때, 재생은 순서의 마지막까지 속행됩니다.

이 구현에 의해, 적절한 콘트롤러, 핏치벤드, 및 프로그램 변경 이벤트가 송신됩니다. 이 결과, 루프의 시점으로 이동했을 때에 신디사이저 상태의 일관성이 보증됩니다.

예외:
IllegalStateException - Sequencer 가 닫혀지고 있는 경우
관련 항목:
setLoopStartPoint(long) , setLoopEndPoint(long) , setLoopCount(int) , stop()

stop

void stop()
액티브의 경우 녹음을 정지해, 현재 로드 되고 있는 순서가 있으면, 그 재생을 정지합니다.

예외:
IllegalStateException - Sequencer 가 닫혀지고 있는 경우
관련 항목:
start() , isRunning()

isRunning

boolean isRunning()
시퀀서가 현재 실행중인가 어떤가를 나타냅니다. 디폴트는 false 입니다. start() 또는 startRecording() 가 불려 가면(자), 시퀀서는 실행을 개시합니다. 그 후 순서의 재생이 완료하는지, 또는 stop() 가 불려 갈 때까지,isRunningtrue 를 돌려줍니다.

반환값:
시퀀서가 실행중의 경우는 true, 그렇지 않은 경우는 false

startRecording

void startRecording()
MIDI 데이터의 녹음 및 재생을 개시합니다. 데이터는, 트럭이 사용 가능하게 되어 있는 채널의, 사용 가능한 전트럭에 녹음됩니다. 녹음은 시퀀서의 현재의 위치로부터 개시됩니다. 벌써 트럭에 있는 이벤트는 녹음 세션중에 덧쓰기됩니다. 현재 로드 되고 있는 순서로부터의 이벤트가 있으면, 그 이벤트는 녹음중에 수신하는 메세지와 함께 시퀀서의 트랜스미터에 전달됩니다.

트럭은 디폴트에서는 녹음 가능하게 되어 있지 않습니다. MIDI 데이터를 녹음하기 위해서는, 적어도 1 개의 트럭이 구체적으로 녹음 가능하게 되어 있을 필요가 있습니다.

예외:
IllegalStateException - Sequencer 가 닫혀지고 있는 경우
관련 항목:
startRecording() , recordEnable(javax.sound.midi.Track, int) , recordDisable(javax.sound.midi.Track)

stopRecording

void stopRecording()
액티브의 경우 녹음을 정지합니다. 현재의 순서의 재생은 계속합니다.

예외:
IllegalStateException - Sequencer 가 닫혀지고 있는 경우
관련 항목:
startRecording() , isRecording()

isRecording

boolean isRecording()
시퀀서가 현재 녹음중인가 어떤가를 나타냅니다. 디폴트는 false 입니다. 시퀀서는 startRecording() 가 불려 가면(자) 녹음을 개시해, 그 후는 stop() 또는 stopRecording() 가 불려 갈 때까지 이 메소드는 true 를 돌려줍니다.

반환값:
시퀀서가 녹음중의 경우는 true, 그렇지 않은 경우는 false

recordEnable

void recordEnable(Track  track,
                  int channel)
지정된 트럭에, 특정의 채널로 수신하는 이벤트를 녹음할 준비를 합니다. 트럭을 사용 가능하게 해 두면(자), 녹음이 액티브하게 되었을 때에 이벤트를 수신합니다.

파라미터:
track - 이벤트가 녹음되는 트럭
channel - 이벤트가 수신되는 채널. 채널치에 -1 가 지정되고 있는 경우, 트럭은 전채널로부터의 데이터를 수신한다
예외:
IllegalArgumentException - 트럭이 현재의 순서가 일부에서 없는 경우, throw 된다

recordDisable

void recordDisable(Track  track)
지정된 트럭에 대해서, 녹음 불가로 합니다. 그 이후의 이벤트는 이 트럭에는 녹음되지 않습니다.

파라미터:
track - 녹음을 불가로 하는 트럭, 또는 전트럭을 녹음 불가로 한다 경우는 null

getTempoInBPM

float getTempoInBPM()
1 분 당의 비트로 표시되는 현재의 템포를 가져옵니다. 재생의 실제의 템포는, 반환값 및 템포 계수로 정해집니다.

반환값:
1 분 당의 비트로 표시되는 현재의 템포
관련 항목:
getTempoFactor() , setTempoInBPM(float) , getTempoInMPQ()

setTempoInBPM

void setTempoInBPM(float bpm)
템포를 1 분 당의 비트로 설정합니다. 재생의 실제의 템포는, 지정된 값 및 템포 계수로 정해집니다.

파라미터:
bpm - 1 분 당의 비트로 표시되는 바람직한 새로운 템포
관련 항목:
getTempoFactor() , setTempoInMPQ(float) , getTempoInBPM()

getTempoInMPQ

float getTempoInMPQ()
사분 음표 당의 마이크로 세컨드로 표시되는 현재의 템포를 가져옵니다. 재생의 실제의 템포는, 반환된 값 및 템포 계수로 정해집니다.

반환값:
사분 음표 당의 마이크로 세컨드로 표시되는 현재의 템포
관련 항목:
getTempoFactor() , setTempoInMPQ(float) , getTempoInBPM()

setTempoInMPQ

void setTempoInMPQ(float mpq)
템포를 사분 음표 당의 마이크로 세컨드로 설정합니다. 재생의 실제의 템포는, 지정된 값 및 템포 계수로 정해집니다.

파라미터:
mpq - 사분 음표 당의 마이크로 세컨드로 표시되는 바람직한 새로운 템포
관련 항목:
getTempoFactor() , setTempoInBPM(float) , getTempoInMPQ()

setTempoFactor

void setTempoFactor(float factor)
지정된 계수에 의해 시퀀서의 실제의 재생 템포를 슬캘링 합니다. 디폴트는 1.0 입니다. 1.0 이라고 하는 값은 일반적으로의 속도 (순서로 지정된 템포)를 나타내, 2.0 은 2 배속 있고 일을 나타냅니다. 템포 계수는,getTempoInMPQ() getTempoInBPM() 로부터 반환되는 값에는 영향을 주지 않습니다. 이러한 값은 슬캘링전의 템포를 나타냅니다.

외부 동기가 사용되고 있는 경우는 템포 계수는 조정할 수 없습니다. 외부 동기가 사용되고 있는 경우,setTempoFactor 는 템포 계수를 항상 1.0 으로 설정합니다.

파라미터:
factor - 요구된 템포 스칼라
관련 항목:
getTempoFactor()

getTempoFactor

float getTempoFactor()
시퀀서의 현재의 템포 계수를 돌려줍니다. 디폴트는 1.0 입니다.

반환값:
템포 계수
관련 항목:
setTempoFactor(float)

getTickLength

long getTickLength()
MIDI 틱으로 나타낸 현재의 순서의 길이를 가져옵니다. 순서가 설정되어 있지 않은 경우는, 0 이 돌려주어집니다.

반환값:
틱 표시에 의한 이 순서의 길이

getTickPosition

long getTickPosition()
순서의 현재의 위치를 MIDI 틱 단위로 가져옵니다. 덧붙여 1 틱의 듀레이션 (초단위)은,Sequence 에 포함되고 있는 템포와 타이밍 해상도의 양쪽 모두에 의해 정해집니다.

반환값:
현재의 틱
관련 항목:
setTickPosition(long)

setTickPosition

void setTickPosition(long tick)
현재의 시퀀서의 위치를 MIDI 틱으로 설정합니다.

파라미터:
tick - 바람직한 틱의 위치
관련 항목:
getTickPosition()

getMicrosecondLength

long getMicrosecondLength()
마이크로 세컨드로 나타낸 현재의 순서의 길이를 가져옵니다. 순서가 설정되어 있지 않은 경우는, 0 이 돌려주어집니다.

반환값:
마이크로 세컨드 단위에서의 순서의 길이

getMicrosecondPosition

long getMicrosecondPosition()
순서상의 현재의 위치를 마이크로 세컨드 단위로 가져옵니다.

정의:
인터페이스 MidiDevice 내의 getMicrosecondPosition
반환값:
마이크로 세컨드 단위에서의 현재의 위치
관련 항목:
setMicrosecondPosition(long)

setMicrosecondPosition

void setMicrosecondPosition(long microseconds)
순서상의 현재의 위치를 마이크로 세컨드 단위로 설정합니다.

파라미터:
microseconds - 마이크로 세컨드 단위에서의 바람직한 위치
관련 항목:
getMicrosecondPosition()

setMasterSyncMode

void setMasterSyncMode(Sequencer.SyncMode  sync)
이 시퀀서가 사용하는 타이밍 정보의 소스를 설정합니다. 시퀀서는 마스터에 동기화합니다. 마스터는 sync 의 값에 응해 내장 시계, MIDI 클락, 또는 MIDI 타임 코드의 어떤 것인가가 됩니다. sync 인수는,getMasterSyncModes() 로부터 반환되는, 지원되고 있는 모드의 1 개인 것이 필요합니다.

파라미터:
sync - 바람직한 마스터 동기 모드
관련 항목:
Sequencer.SyncMode.INTERNAL_CLOCK , Sequencer.SyncMode.MIDI_SYNC , Sequencer.SyncMode.MIDI_TIME_CODE , getMasterSyncMode()

getMasterSyncMode

Sequencer.SyncMode  getMasterSyncMode()
이 시퀀서의 현재의 마스터 동기 모드를 가져옵니다.

반환값:
현재의 마스터 동기 모드
관련 항목:
setMasterSyncMode(Sequencer.SyncMode) , getMasterSyncModes()

getMasterSyncModes

Sequencer.SyncMode [] getMasterSyncModes()
이 시퀀서가 지원하는 마스터 동기 모드세트를 가져옵니다.

반환값:
사용 가능한 마스터 동기 모드
관련 항목:
Sequencer.SyncMode.INTERNAL_CLOCK , Sequencer.SyncMode.MIDI_SYNC , Sequencer.SyncMode.MIDI_TIME_CODE , getMasterSyncMode() , setMasterSyncMode(Sequencer.SyncMode)

setSlaveSyncMode

void setSlaveSyncMode(Sequencer.SyncMode  sync)
시퀀서의 슬레이브 동기 모드를 설정합니다. 이것은 시퀀서로부터 리시버에 송신되는 타이밍 정보의 종류를 나타냅니다. sync 인수는,getSlaveSyncModes() 로부터 반환되는, 지원되고 있는 모드의 1 개인 것이 필요합니다.

파라미터:
sync - 바람직한 슬레이브 동기 모드
관련 항목:
Sequencer.SyncMode.MIDI_SYNC , Sequencer.SyncMode.MIDI_TIME_CODE , Sequencer.SyncMode.NO_SYNC , getSlaveSyncModes()

getSlaveSyncMode

Sequencer.SyncMode  getSlaveSyncMode()
이 시퀀서의 현재의 슬레이브 동기 모드를 가져옵니다.

반환값:
현재의 슬레이브 동기 모드
관련 항목:
setSlaveSyncMode(Sequencer.SyncMode) , getSlaveSyncModes()

getSlaveSyncModes

Sequencer.SyncMode [] getSlaveSyncModes()
시퀀서가 지원하는 슬레이브 동기 모드세트를 가져옵니다.

반환값:
사용 가능한 슬레이브 동기 모드
관련 항목:
Sequencer.SyncMode.MIDI_SYNC , Sequencer.SyncMode.MIDI_TIME_CODE , Sequencer.SyncMode.NO_SYNC

setTrackMute

void setTrackMute(int track,
                  boolean mute)
트럭의 뮤트 상태를 설정합니다. 이 메소드는 몇개의 이유로써 실패하는 일이 있습니다. 예를 들어, 지정된 트럭 번호가 현재의 순서에 대해서 유효하지 않은, 혹은 시퀀서가 이 기능을 지원하고 있지 않는, 등입니다. 이 조작이 성공했는지의 여부를 확인할 필요가 있는 어플리케이션에서는, 이 호출에 이어 getTrackMute(int) 를 호출해 주세요.

파라미터:
track - 트럭 번호. 현재의 순서의 트럭은, 0 으로부터 순서의 트럭수 뺀다 1 의 범위에서 번호 붙이고 되는
mute - 트럭의 새로운 뮤트 상태. true 는 트럭이 뮤트인 것을 의미해,false 는 트럭이 뮤트가 아닌 것을 의미하는
관련 항목:
getSequence()

getTrackMute

boolean getTrackMute(int track)
트럭의 현재의 뮤트 상태를 가져옵니다. 뮤트로 되어 있지 않은 전트럭의 디폴트 뮤트 상태는 false 입니다. 지정된 트럭이 뮤트로 되어 있지 않은 경우에는 언제라도, 이 메소드는 false 를 돌려줍니다. 이것은, 시퀀서가 트럭의 뮤트화를 지원하고 있지 않는 경우나, 지정된 트럭 인덱스가 유효하지 않은 경우에도 들어맞읍니다.

파라미터:
track - 트럭 번호. 현재의 순서의 트럭은, 0 으로부터 순서의 트럭수 뺀다 1 의 범위에서 번호 붙이고 된다
반환값:
뮤트의 경우는 true, 그렇지 않은 경우는 false

setTrackSolo

void setTrackSolo(int track,
                  boolean solo)
트럭의 솔로 상태를 설정합니다. solotrue 의 경우는, 이 트럭 및 솔로가 되어 있는 다른 트럭의 소리만이 들립니다. solofalse 의 경우는, 솔로가 되어 있는 다른 트럭의 소리만이 들립니다만, 솔로가 되어 있는 트럭이 없을 때는 뮤트로 되어 있지 않은 트럭의 소리가 모두 들립니다.

이 메소드는 몇개의 이유로써 실패하는 일이 있습니다. 예를 들어, 지정된 트럭 번호가 현재의 순서에 대해서 유효하지 않은, 혹은 시퀀서가 이 기능을 지원하고 있지 않는, 등입니다. 이 조작이 성공했는지의 여부를 확인할 필요가 있는 어플리케이션에서는, 이 호출에 이어 getTrackSolo(int) 를 호출해 주세요.

파라미터:
track - 트럭 번호. 현재의 순서의 트럭은, 0 으로부터 순서의 트럭수 뺀다 1 의 범위에서 번호 붙이고 되는
solo - 트럭의 새로운 솔로 상태. true 는 트럭이 솔로인 것을 의미해,false 는 트럭이 솔로가 아닌 것을 의미하는
관련 항목:
getSequence()

getTrackSolo

boolean getTrackSolo(int track)
트럭의 현재의 솔로 상태를 가져옵니다. 솔로로 되어 있지 않은 전트럭의 디폴트 뮤트 상태는 false 입니다. 지정된 트럭이 솔로로 되어 있지 않은 경우에는 언제라도, 이 메소드는 false 를 돌려줍니다. 이것은, 시퀀서가 트럭의 솔로화를 지원하고 있지 않는 경우나, 지정된 트럭 인덱스가 유효하지 않은 경우에도 들어맞읍니다.

파라미터:
track - 트럭 번호. 현재의 순서의 트럭은, 0 으로부터 순서의 트럭수 뺀다 1 의 범위에서 번호 붙이고 된다
반환값:
솔로의 경우는 true, 그렇지 않은 경우는 false

addMetaEventListener

boolean addMetaEventListener(MetaEventListener  listener)
메타이벤트가 순서로 발생해 시퀀서에 의해 처리될 때에 통지를 받기 (위해)때문에 메타이벤트리스나를 등록합니다. 이 메소드는, 이 클래스의 시퀀서가 메타이벤트 통지를 지원하고 있지 않는 경우 등에 실패할 가능성이 있습니다.

파라미터:
listener - 추가하는 청취자
반환값:
청취자의 추가가 완료했을 경우는 true, 그렇지 않은 경우는 false
관련 항목:
removeMetaEventListener(javax.sound.midi.MetaEventListener) , MetaEventListener , MetaMessage

removeMetaEventListener

void removeMetaEventListener(MetaEventListener  listener)
실제로 청취자가 등록되었을 경우, 이 시퀀서의 등록제청취자의 리스트로부터 지정된 메타이벤트리스나를 삭제합니다.

파라미터:
listener - 삭제하는 메타이벤트리스나
관련 항목:
addMetaEventListener(javax.sound.midi.MetaEventListener)

addControllerEventListener

int[] addControllerEventListener(ControllerEventListener  listener,
                                 int[] controllers)
요구된 종류의 제어 변경 이벤트를 시퀀서가 처리할 때에 통지를 받기 위한 콘트롤러 이벤트 청취자를 등록합니다. 종류는 MIDI 콘트롤러 번호의 배열을 포함한 controllers 인수에 의해 지정됩니다 ( 각 번호는 0 에서 127 까지. 다양한 종류의 콘트롤러에 대응하는 번호에 대해서는, 「MIDI 1.0 Specification」를 참조).

되돌려진 배열에는, 청취자가 향후 이벤트를 수신하는 MIDI 콘트롤러의 번호를 포함하고 있습니다. 시퀀서에 따라서는 콘트롤러 이벤트 통지를 지원하고 있지 않는 경우가 있어, 그 경우, 배열의 길이는 0 입니다. 다른 시퀀서는 몇개의 콘트롤러의 통지를 지원합니다만, 전콘트롤러에 대해가 아닙니다. 이 메소드는 반복해 불려 가는 일이 있습니다. 각 회 모두, 반환된 배열은, 그 특정의 호출로 요구된 콘트롤러 뿐만이 아니라, 청취자가 통지를 받는 전콘트롤러를 나타냅니다

파라미터:
listener - 등록제청취자의 리스트에 추가하는 콘트롤러 이벤트 청취자
controllers - 변경 통지가 요구되는 MIDI 콘트롤러 번호
반환값:
지정된 청취자에게 향후 변경이 보고되는 전 MIDI 콘트롤러의 번호
관련 항목:
removeControllerEventListener(javax.sound.midi.ControllerEventListener, int[]) , ControllerEventListener

removeControllerEventListener

int[] removeControllerEventListener(ControllerEventListener  listener,
                                    int[] controllers)
1 개(살) 이상의 종류의 콘트롤러 이벤트에 대해, 콘트롤러 이벤트 청취자의 처리 대상을 삭제합니다. controllers 인수는, 청취자가 향후 변경 통지를 받지 않는 콘트롤러에 대응하는 MIDI 번호의 배열입니다. 등록제청취자의 리스트로부터 이 청취자를 완전하게 삭제하려면 ,controllersnull 를 건네줍니다. 되돌려진 배열에는, 청취자가 향후 이벤트를 수신하는 MIDI 콘트롤러의 번호를 포함하고 있습니다. 청취자가 어느 콘트롤러의 변경 통지도 수신하지 않는 경우, 배열의 길이는 0 입니다.

파라미터:
listener - 낡은 청취자
controllers - 변경 통지를 취소하는 MIDI 콘트롤러 번호, 또는 전콘트롤러에 대해서 취소하는 경우는 null
반환값:
지정된 청취자에게 향후 변경이 보고되는 전 MIDI 콘트롤러의 번호
관련 항목:
addControllerEventListener(javax.sound.midi.ControllerEventListener, int[])

setLoopStartPoint

void setLoopStartPoint(long tick)
루프로 재생하는 최초의 MIDI 틱을 설정합니다. 루프 카운터가 1 이상의 경우, 루프의 종점에 이른 시점에서 재생은 이 시점으로 이동합니다.

시점의 값 0 은, 로드 되고 있는 순서의 선두를 의미합니다. 시점의 값은 종점의 값이하가 아니면 안되어, 로드 되고 있는 순서의 사이즈내에 들어가 있지 않으면 안됩니다.

시퀀서의 루프 시점의 디폴트는, 순서의 선두입니다.

파라미터:
tick - 루프의 시점 (MIDI 틱 단위, 제로로부터 시작된다)
예외:
IllegalArgumentException - 요구되었다 루프 시점을 설정할 수 없는 경우. 일반적으로은, 시점이 순서의 듀레이션외에 있는지, 시점이 종점에서(보다) 후에 있는 것이 원인
도입된 버젼:
1.5
관련 항목:
setLoopEndPoint(long) , setLoopCount(int) , getLoopStartPoint() , start()

getLoopStartPoint

long getLoopStartPoint()
루프의 시점을 가져옵니다 (MIDI 틱 단위).

반환값:
루프의 시점 (MIDI 틱 단위, 제로로부터 시작된다)
도입된 버젼:
1.5
관련 항목:
setLoopStartPoint(long)

setLoopEndPoint

void setLoopEndPoint(long tick)
루프로 마지막에 재생되는 MIDI 틱을 설정합니다. 루프 카운트가 0 의 경우는 루프의 종점에 이르러도 재생이 속행됩니다.

종점의 값 -1 은, 로드 되고 있는 순서의 마지막 틱을 의미합니다. 그 이외의 경우, 종점의 값은 시점의 값이상이 아니면 안되어, 로드 되고 있는 순서의 사이즈내에 들어가 있지 않으면 안됩니다.

시퀀서의 루프 종점의 디폴트는 -1 으로, 순서의 최후라고 하는 의미입니다.

파라미터:
tick - 루프의 종점 (MIDI 틱 단위, 제로로부터 시작된다), 또는 마지막 틱을 나타낸다 -1
예외:
IllegalArgumentException - 요구되었다 루프 종점을 설정할 수 없는 경우. 일반적으로은, 종점이 순서의 듀레이션외에 있는지, 종점이 시점보다 전에 있는 것이 원인
도입된 버젼:
1.5
관련 항목:
setLoopStartPoint(long) , setLoopCount(int) , getLoopEndPoint() , start()

getLoopEndPoint

long getLoopEndPoint()
루프의 종점을 가져옵니다 (MIDI 틱 단위).

반환값:
루프의 종점 (MIDI 틱 단위, 제로로부터 시작된다), 또는 순서의 최후를 나타내는 -1
도입된 버젼:
1.5
관련 항목:
setLoopEndPoint(long)

setLoopCount

void setLoopCount(int count)
루프를 재생하는 반복 회수를 설정합니다. 재생이 루프의 종점에 이르면(자),count 회까지 루프의 시점으로 돌아갑니다. 그 후는, 순서의 끝까지 재생이 속행됩니다.

이 메소드를 호출했을 때의 현재 위치가 루프의 종점보다 큰 경우, 루프는 실행되지 않고, 순서의 끝까지 재생이 속행됩니다. 다만, 이 호출에 이어 루프의 종점을 변경했을 경우는, 루프가 실행됩니다.

count 의 값을 0 으로 설정하면(자) 루프가 무효가 됩니다. 즉, 루프의 종점에 이르러도 재생이 속행되어 루프의 시점에는 돌아오지 않습니다. 이것이 시퀀서의 디폴트입니다.

루프중에 재생을 정지하면(자), 현재의 루프 모양태는 해제됩니다. 그 후에 개시 요구를 실시할 때, 중단된 루프 조작의 영향은 받지 않습니다.

파라미터:
count - 루프의 종점으로부터 루프의 시점까지 재생을 루프백 하는 회수, 또는 루프가 중단될 때까지 루프를 계속하는 경우는 LOOP_CONTINUOUSLY
예외:
IllegalArgumentException - count 의 값이 부이며, 한편 LOOP_CONTINUOUSLY 에 동일하지 않은 경우
도입된 버젼:
1.5
관련 항목:
setLoopStartPoint(long) , setLoopEndPoint(long) , getLoopCount() , start()

getLoopCount

int getLoopCount()
재생의 반복수를 가져옵니다.

반환값:
루프의 회수. 그 후는, 순서의 끝까지 재생되는
도입된 버젼:
1.5
관련 항목:
setLoopCount(int) , start()

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