Clip
Clip
재생할 수 있는 오디오 데이터를 사전에 로드하는 라인을 나타내는 인터페이스예요. DataLine을 상속해요.
본문
javax.sound.sampled 패키지에 속하는 인터페이스로, DataLine을 상속해요. Clip은 오디오 데이터를 메모리에 로드한 다음, 언제든 반복해서 재생할 수 있는 라인이에요. 다양한 위치에서 재생을 시작하거나 멈추고, 반복 재생할 수 있어요.
public interface Clip extends DataLine
open
void open(AudioFormat format, byte[] data, int offset, int bufferSize)
throws LineUnavailableException
형식과 배열 데이터로 클립을 열어요. 지정된 형식의 오디오 데이터를 로드해 재생 준비를 해요. 0 ~ bufferSize 바이트의 데이터를 사용해요.
- 파라미터
format: 오디오 형식 - 파라미터
data: 오디오 데이터 배열 - 파라미터
offset: 사용할 데이터의 시작 오프셋 - 파라미터
bufferSize: 사용할 데이터 바이트 수 - 예외
LineUnavailableException: 리소스 부족으로 클립을 열 수 없는 경우
void open(AudioInputStream stream) throws LineUnavailableException, IOException
오디오 입력 스트림에서 데이터를 읽어 클립을 열어요. 스트림의 끝까지 오디오 데이터를 로드해요.
- 파라미터
stream: 오디오 데이터를 담은 입력 스트림 - 예외
LineUnavailableException: 리소스 부족으로 클립을 열 수 없는 경우 - 예외
IOException: I/O 오류가 발생한 경우
setFramePosition
void setFramePosition(int frames)
클립의 재생 시작 위치를 샘플 프레임 단위로 설정해요. 재생은 이 위치부터 시작해요.
- 파라미터
frames: 설정할 프레임 위치
setMicrosecondPosition
void setMicrosecondPosition(long microseconds)
클립의 재생 시작 위치를 마이크로초 단위로 설정해요.
- 파라미터
microseconds: 설정할 위치(마이크로초)
setLoopPoints
void setLoopPoints(int start, int end)
클립의 반복 재생 지점을 설정해요. 반복이 시작되고 끝나는 프레임 위치를 지정해요.
- 파라미터
start: 반복 시작 프레임 위치 - 파라미터
end: 반복 종료 프레임 위치
loop
void loop(int count)
클립을 반복 재생해요. 지정된 횟수만큼 반복 재생하고, count가 LOOP_CONTINUOUSLY면 무한 반복해요.
- 파라미터
count: 반복 횟수.LOOP_CONTINUOUSLY면 무한