Clip

Clip

재생할 수 있는 오디오 데이터를 사전에 로드하는 라인을 나타내는 인터페이스예요. DataLine을 상속해요.

출처: Java API Reference

본문

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)

클립을 반복 재생해요. 지정된 횟수만큼 반복 재생하고, countLOOP_CONTINUOUSLY면 무한 반복해요.

  • 파라미터 count: 반복 횟수. LOOP_CONTINUOUSLY면 무한

더 알아보기