Mixer

Mixer

오디오 입력/출력 라인의 믹서를 나타내는 인터페이스예요. Line을 상속해요.

출처: Java API Reference

본문

javax.sound.sampled 패키지에 속하는 인터페이스로, Line을 상속해요. Mixer는 하드웨어 장치(예: 사운드 카드)이거나 소프트웨어 믹시일 수 있어요. 믹서는 오디오 신호를 처리하고, 여러 입력/출력 라인(포트, 데이터 라인, 클립 등)을 제공해요.

MixerLine.Info를 통해 라인을 만들고, getLine, getSourceLines, getTargetLines 같은 메서드로 라인에 접근해요.

public interface Mixer extends Line

getMixerInfo

Mixer.Info getMixerInfo()

이 믹서를 설명하는 정보 객체를 얻어요.

  • 반환값: 믹서 정보 객체

getSourceLineInfo

Line.Info[] getSourceLineInfo()

이 믹서가 지원하는 소스(출력) 라인에 대한 정보 배열을 얻어요. 소스 라인은 오디오 데이터를 내보내는 라인이에요.

  • 반환값: 소스 라인 정보 배열

getTargetLineInfo

Line.Info[] getTargetLineInfo()

이 믹서가 지원하는 대상(입력) 라인에 대한 정보 배열을 얻어요. 대상 라인은 오디오 데이터를 받는 라인이에요.

  • 반환값: 대상 라인 정보 배열

getLine

Line getLine(Line.Info info) throws LineUnavailableException

지정된 Line.Info에 해당하는 라인을 얻어요. 라인은 아직 열리지 않은 상태로 반환돼요.

  • 파라미터 info: 원하는 라인의 정보
  • 반환값: 요청된 라인
  • 예외 LineUnavailableException: 라인을 만들 수 없는 경우

getMaxLines

int getMaxLines(Line.Info info)

지정된 정보를 가진 라인의 최대 수를 얻어요. 무한이면 AudioSystem.NOT_SPECIFIED를 반환해요.

  • 파라미터 info: 질의할 라인 정보
  • 반환값: 최대 라인 수

getSourceLines

Line[] getSourceLines()

이 믹서에 현재 열려 있는 모든 소스 라인을 얻어요.

  • 반환값: 열려 있는 소스 라인 배열

getTargetLines

Line[] getTargetLines()

이 믹서에 현재 열려 있는 모든 대상 라인을 얻어요.

  • 반환값: 열려 있는 대상 라인 배열

isSynchronizationSupported

boolean isSynchronizationSupported(Line[] lines, boolean maintainSync)

지정된 라인들의 동기화를 지원하는지 나타내요. 라인들이 동기화되면 함께 시작/중지돼요.

  • 파라미터 lines: 동기화할 라인 배열
  • 파라미터 maintainSync: 동기화 유지 여부
  • 반환값: 지원하면 true, 그렇지 않으면 false

synchronize

void synchronize(Line[] lines, boolean maintainSync)

지정된 라인들을 동기화해요. 동기화된 라인들은 함께 시작하고 중지돼요.

  • 파라미터 lines: 동기화할 라인 배열
  • 파라미터 maintainSync: 시작 후 동기화를 유지할지 여부

중첩 클래스 Info

Mixer.Info는 믹서에 대한 정보를 나타내는 중첩 클래스예요. Line.Info를 상속하고, 믹서의 이름, 벤더, 버전, 설명을 담아요. AudioSystem.getMixerInfo()가 반환하는 정보 객체들로 믹서를 얻을 수 있어요.

더 알아보기