JavaTM Platform
Standard Ed. 6

javax.sound.sampled
인터페이스 Mixer

모든 슈퍼 인터페이스:
Line


public interface Mixer
extends Line

믹서는 1 개 이상의 라인을 가지는 오디오 장치입니다. 반드시 오디오 신호를 믹싱 하도록(듯이) 설계되고 있을 필요는 없습니다. 실제로 오디오를 믹싱 하는 믹서에는, 복수의 입력 (소스) 라인 및 적어도 1 개의 출력 (타겟) 라인이 있습니다. 많은 경우, 입력 라인은 SourceDataLine 을 구현하는 클래스의 인스턴스로, 출력 라인은 TargetDataLine 를 구현하는 클래스의 인스턴스입니다. Port 객체도 또, 소스 라인 또는 타겟 라인의 어느 쪽인지입니다. 소스 라인의 몇개인가를 Clip 인스턴스를 구현하는 객체의 인스턴스로 하는 것에 의해, 믹서는 사전에 녹음된 루프 하는 사운드를 입력으로서 받아들일 수가 있습니다.

Mixer 가 확장하는 Line 인터페이스의 메소드를 통해서, 믹서는 그 믹서 전체에 영향을 주는 것 같은 컨트롤세트를 갖추고 있습니다. 예를 들어, 믹서는 마스터 게인 컨트롤을 가질 수가 있습니다. 이러한 글로벌인 컨트롤은, 믹서의 개개의 라인에 속하는 컨트롤과는 다릅니다.

믹서 중(안)에서, 특히 내부 디지털 믹싱 기능을 가지는 것은,DataLine 인터페이스를 구현하는 것에 의해 기능을 추가할 수가 있습니다.

믹서는 라인의 동기를 지원할 수 있습니다. 동기화 된 그룹의 1 개의 라인이 개시 또는 정지하면(자), 그룹외의 라인은, 개시 또는 정지가 명시된 라인과 함께, 자동적으로 동시에 개시 또는 정지합니다.

도입된 버젼:
1.3

상자의 클래스의 개요
static class Mixer.Info
          Mixer.Info 클래스는, 제품의 이름, 버젼, 벤더, 텍스트 설명 등, 오디오 믹서에 관한 정보를 나타냅니다.
 
메소드의 개요
 Line getLine (Line.Info  info)
          사용 가능해, 한편 지정된 Line.Info 객체의 기술에 일치하는 라인을 가져옵니다.
 int getMaxLines (Line.Info  info)
          믹서상에서 동시에 열 수가 있는 요구형의 라인의 최대수의 근사치를 가져옵니다.
 Mixer.Info getMixerInfo ()
          제품의 이름, 버젼, 벤더 등, 이 믹서에 관한 정보를 가져옵니다.
 Line.Info [] getSourceLineInfo ()
          이 믹서가 지원하고 있는 소스 라인세트에 관한 정보를 가져옵니다.
 Line.Info [] getSourceLineInfo (Line.Info  info)
          이 믹서가 지원하고 있는 특정의 타입의 소스 라인에 관한 정보를 가져옵니다.
 Line [] getSourceLines ()
          이 믹서에 현재 열려 있는 전소스 라인세트를 가져옵니다.
 Line.Info [] getTargetLineInfo ()
          이 믹서가 지원하고 있는 타겟 라인세트에 관한 정보를 가져옵니다.
 Line.Info [] getTargetLineInfo (Line.Info  info)
          이 믹서가 지원하고 있는 특정의 타입의 타겟 라인에 관한 정보를 가져옵니다.
 Line [] getTargetLines ()
          이 믹서로부터 현재 열려 있는 전타겟 라인세트를 가져옵니다.
 boolean isLineSupported (Line.Info  info)
          지정된 Line.Info 객체에 일치하는 라인을 믹서가 지원하고 있을지 어떨지를 나타냅니다.
 boolean isSynchronizationSupported (Line [] lines, boolean maintainSync)
          지정된 라인세트의 동기를 이 믹서가 지원하고 있을지 어떨지를 보고합니다.
 void synchronize (Line [] lines, boolean maintainSync)
          2 개이상의 라인을 동기화합니다.
 void unsynchronize (Line [] lines)
          지정된 라인에 대해서 동기를 해제합니다.
 
인터페이스 javax.sound.sampled. Line 로부터 상속된 메소드
addLineListener , close , getControl , getControls , getLineInfo , isControlSupported , isOpen , open , removeLineListener
 

메소드의 상세

getMixerInfo

Mixer.Info  getMixerInfo()
제품의 이름, 버젼, 벤더 등, 이 믹서에 관한 정보를 가져옵니다.

반환값:
이 믹서를 설명하는 믹서 정보 객체
관련 항목:
Mixer.Info

getSourceLineInfo

Line.Info [] getSourceLineInfo()
이 믹서가 지원하고 있는 소스 라인세트에 관한 정보를 가져옵니다. 일부의 소스 라인은, 이 믹서가 열려 있을 때 밖에 사용할 수 없습니다.

반환값:
이 믹서의 소스 라인을 나타내는 Line.Info 객체의 배열. 지원되고 있는 소스 라인이 없는 경우, 길이 0 의 배열이 반환된다

getTargetLineInfo

Line.Info [] getTargetLineInfo()
이 믹서가 지원하고 있는 타겟 라인세트에 관한 정보를 가져옵니다. 일부의 타겟 라인은, 이 믹서가 열려 있을 때 밖에 사용할 수 없습니다.

반환값:
이 믹서의 타겟 라인을 나타내는 Line.Info 객체의 배열. 지원되고 있는 타겟 라인이 없는 경우, 길이 0 의 배열이 반환된다

getSourceLineInfo

Line.Info [] getSourceLineInfo(Line.Info  info)
이 믹서가 지원하고 있는 특정의 타입의 소스 라인에 관한 정보를 가져옵니다. 일부의 소스 라인은, 이 믹서가 열려 있을 때 밖에 사용할 수 없습니다.

파라미터:
info - 정보를 조회하는 라인을 기술하는 Line.Info 객체
반환값:
요구된 형태에 일치하는 소스 라인을 기술하는 Line.Info 객체의 배열. 일치하는 소스 라인이 지원되어 있지 않은 경우, 길이 0 의 배열이 반환된다

getTargetLineInfo

Line.Info [] getTargetLineInfo(Line.Info  info)
이 믹서가 지원하고 있는 특정의 타입의 타겟 라인에 관한 정보를 가져옵니다. 일부의 타겟 라인은, 이 믹서가 열려 있을 때 밖에 사용할 수 없습니다.

파라미터:
info - 정보를 조회하는 라인을 기술하는 Line.Info 객체
반환값:
요구된 형태에 일치하는 타겟 라인을 기술하는 Line.Info 객체의 배열. 일치하는 타겟 라인이 지원되어 있지 않은 경우, 길이 0 의 배열이 반환된다

isLineSupported

boolean isLineSupported(Line.Info  info)
지정된 Line.Info 객체에 일치하는 라인을 믹서가 지원하고 있을지 어떨지를 나타냅니다. 일부의 라인은, 이 믹서가 열려 있을 때 밖에 사용할 수 없습니다.

파라미터:
info - 지원의 유무에 대해 조회하는 라인의 기술
반환값:
일치하는 라인이 적어도 1 개(살) 지원되는 경우는 true, 그렇지 않은 경우는 false

getLine

Line  getLine(Line.Info  info)
             throws LineUnavailableException 
사용 가능해, 한편 지정된 Line.Info 객체의 기술에 일치하는 라인을 가져옵니다.

DataLine 가 요구되어 한편 infoDataLine.Info 의 인스턴스이며, 1 개(살) 이상의 완전 수식의 오디오 형식을 지정하는 경우, 마지막 것이 반환되는 DataLine 의 디폴트의 형식이 됩니다.

파라미터:
info - 바람직한 라인의 기술
예외:
LineUnavailableException - 자원의 제약을 위해서(때문에), 일치하는 라인을 사용할 수 없는 경우
IllegalArgumentException - 기술에 일치한다 라인을 이 믹서가 지원하고 있지 않는 경우
SecurityException - 시큐리티의 제약을 위해서(때문에), 일치하는 라인을 사용할 수 없는 경우

getMaxLines

int getMaxLines(Line.Info  info)
믹서상에서 동시에 열 수가 있는 요구형의 라인의 최대수의 근사치를 가져옵니다. 일부의 믹서에는 하드 바운드가 없고, 복수의 라인을 열 수가 있습니다. 몇개의 라인은 공유 자원이므로, 다른 프로세스가 이 믹서의 라인을 열고 있는 경우, 믹서로 열릴 수가 있는 라인수는 최대 라인수보다 적게 됩니다. 요구된 형태는, 제공된 Line.Info 객체의 기술에 일치하는 라인입니다. 예를 들어, 정보 객체가 스피커 포트를 나타내, 믹서가 정확히 1 개의 스피커 포트를 지원하고 있는 경우, 이 메소드는 1 을 돌려줍니다. 정보 객체가 소스 데이터 라인을 나타내, 믹서가 32 의 소스 데이터 라인의 사용을 동시에 지원하는 경우는, 반환값은 32 입니다. 제한이 설치되지 않은 경우, 이 함수는 AudioSystem.NOT_SPECIFIED 를 돌려줍니다.

파라미터:
info - 지원 대상의 인스턴스의 수를 조회하는 라인을 기술하는 Line.Info
반환값:
지원되는 일치하는 라인의 최대수, 또는 AudioSystem.NOT_SPECIFIED

getSourceLines

Line [] getSourceLines()
이 믹서에 현재 열려 있는 전소스 라인세트를 가져옵니다.

반환값:
이 믹서에 현재 열려 있는 소스 라인. 이 믹서에 현재 열려 있는 소스 라인. 이 믹서에 현재 열려 있다 소스 라인이 없는 경우, 길이 0 의 배열이 반환된다
예외:
SecurityException - 시큐리티의 제약을 위해서(때문에), 일치하는 라인을 사용할 수 없는 경우

getTargetLines

Line [] getTargetLines()
이 믹서로부터 현재 열려 있는 전타겟 라인세트를 가져옵니다.

반환값:
이 믹서로부터 현재 열려 있는 타겟 라인. 이 믹서로부터 현재 열려 있는 타겟 라인이 없는 경우, 소스 라인이 없는 경우, 길이 0 의 배열이 반환된다
예외:
SecurityException - 시큐리티의 제약을 위해서(때문에), 일치하는 라인을 사용할 수 없는 경우

synchronize

void synchronize(Line [] lines,
                 boolean maintainSync)
2 개(살) 이상의 라인을 동기화합니다. 이러한 라인의 1 개에 대해서 오디오의 재생 또는 혼잡을 개시 또는 정지시키는 후속 커멘드는, 그룹외의 라인에도 같은 영향을 미쳐, 그러한 라인이 데이터의 재생 또는 혼잡을 동시에 개시 또는 정지하도록(듯이) 합니다.

파라미터:
lines - 동기화 되는 라인
maintainSync - 라인의 조작중의 전 시점에서 동기를 정확하게 유지 할 필요가 있는 (즉, 동기에게 샘플 레벨의 정확함이 필요한) 경우는 true 혹은 개시 및 정지의 조작중만 정확한 동기가 필요한 경우는 false
예외:
IllegalArgumentException - 라인을 동기화할 수 없는 경우. 이것은 라인의 타입이 다른지, 이 믹서가 동기를 지원하지 않는 다르다 포맷을 라인이 가지고 있는 경우, 혹은 지정된 전라인이 이 믹서에 속하지 않은 경우에 발생한다

unsynchronize

void unsynchronize(Line [] lines)
지정된 라인에 대해서 동기를 해제합니다. 배열은, 동기가 벌써 확립되어 있는 배열과 동일하다라고 하는 것이 필요합니다. 그렇지 않은 경우는, 예외가 throw 됩니다. 다만, 이 믹서에 속하는, 현재 동기화 되고 있는 전라인이 동기가 해제되었을 경우는,null 가 지정됩니다.

파라미터:
lines - 동기를 해제하는 동기화 라인, 또는 이 믹서의 전동기화 라인의 경우는 null
예외:
IllegalArgumentException - 라인을 동기 해제할 수 없는 경우. 이것은, 지정된 인수가, 동기가 벌써 확립되어 있는 라인세트에 정확하게 일치하지 않는 경우에 발생한다

isSynchronizationSupported

boolean isSynchronizationSupported(Line [] lines,
                                   boolean maintainSync)
지정된 라인세트의 동기를 이 믹서가 지원하고 있을지 어떨지를 보고합니다.

파라미터:
lines - 동기 지원의 유무에 대해 조회하는 라인세트
maintainSync - 라인의 조작중의 전 시점에서 동기를 정확하게 유지 할 필요가 있는 (즉, 동기에게 샘플 레벨의 정확함이 필요한) 경우는 true 혹은 개시 및 정지의 조작중만 정확한 동기가 필요한 경우는 false
반환값:
라인을 동기화할 수 있는 경우는 true, 그렇지 않은 경우는 false

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