|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface Line
Line
인터페이스는, 단청의 채널 또는 다중 채널의 오디오송를 나타냅니다. 라인은, 믹서, 입출력 포트, 믹서에의 데이터 입출력 패스등의, 디지털 오디오 「파이프라인」의 1 요소입니다.
라인은 게인, 빵, 리바브등을 컨트롤 할 수가 있습니다. 컨트롤 자체는, 기저
클래스를 확장하는 클래스의 인스턴스입니다. Control
Line
인터페이스는 라인을 컨트롤하기 위한 액세스용 메소드를 2 개 제공합니다.
는 세트 전체를 돌려주어,getControls
는 지정된 단일의 컨트롤을 돌려줍니다.
getControl
라인은 시간에 의해 다양한 상태로 존재합니다. 라인이 열리면(자), 라인 자체를 위해서(때문에) system resource가 확보되어 라인이 닫으면(자), 이러한 자원은 다른 객체 또는 어플리케이션을 위해서(때문에) 해제됩니다.
메소드에 의해, 라인이 열려 있을까 닫고 있는지를 확인할 수 있습니다. 다만 라인이 열려 있어도, 데이터를 처리하고 있다고는 할 수 없습니다. 데이터 처리는 일반적으로,isOpen()
나 SourceDataLine.write
등의 서브 인터페이스의 메소드에 의해 개시됩니다.
TargetDataLine.read
객체를 등록해, 라인 상태가 변화할 때마다 통지를 받을 수가 있습니다. 객체는, 단일의 메소드
로 구성되는 update
인터페이스를 구현하고 있을 필요가 있습니다. 이 메소드는 라인의 개폐시에 불려 갑니다. 라인이 LineListener
DataLine
인 경우는, 개시 및 정지시에 불려 갑니다.
객체를 등록해 복수의 라인을 감시할 수가 있습니다. 객체가 update
메소드로 수신하는 이벤트는, 어느 라인이 이벤트를 작성했는지, 그것은 어느 타입의 이벤트인가 (OPEN
,CLOSE
,START
, 또는 STOP
), 및 이벤트 발생시 라인이 얼마나의 샘플 프레임을 다 처리해 있는지를 지정합니다.
개폐등의 일정한 라인 조작은, 라인이 공유 오디오 자원일 때 특권을 가지지 않는 코드에 의해 불려 갔을 경우, 시큐리티 예외를 생성하는 일이 있습니다.
LineEvent
상자의 클래스의 개요 | |
---|---|
static class |
Line.Info
Line.Info 객체는, 라인에 관한 정보를 포함하고 있습니다. |
메소드의 개요 | |
---|---|
void |
addLineListener (LineListener listener)
청취자에게 이 라인을 추가합니다. |
void |
close ()
라인을 닫아 라인으로 사용하고 있던 system resource를 해제할 수 있는 것을 나타냅니다. |
Control |
getControl (Control.Type control)
지정된 타입의 컨트롤이 있는 경우, 그 컨트롤을 가져옵니다. |
Control [] |
getControls ()
이 라인에 관련하는 컨트롤세트를 가져옵니다. |
Line.Info |
getLineInfo ()
이 라인을 설명하는 Line.Info 객체를 가져옵니다. |
boolean |
isControlSupported (Control.Type control)
지정된 타입의 컨트롤을 라인이 지원하고 있을지 어떨지를 나타냅니다. |
boolean |
isOpen ()
라인이 열려 있을지 어떨지, 즉 현재는 사운드를 재생 또는 수집하고 있지 않아도 system resource를 확보해 조작 가능한지 어떤지를 나타냅니다. |
void |
open ()
라인을 열어, 필요한 system resource를 획득해 조작 가능하게 되어 있는 것을 나타냅니다. |
void |
removeLineListener (LineListener listener)
이 라인의 청취자의 리스트로부터, 지정된 청취자를 삭제합니다. |
메소드의 상세 |
---|
Line.Info getLineInfo()
Line.Info
객체를 가져옵니다.
void open() throws LineUnavailableException
OPEN
이벤트가 라인의 청취자에게 발송 됩니다.
라인에 따라서는, 한 번 닫으면(자) 재차 열 수가 없는 경우가 있습니다. 이러한 라인을 재차 열려고 하면(자), 항상 LineUnavailableException
가 표시됩니다.
라인의 종류에 따라서는, 자원의 할당에 영향을 주는 설정 가능한 프로퍼티을 가지고 있는 것도 있습니다. 예를 들어,DataLine
는 특정의 포맷 및 버퍼 사이즈로 열릴 필요가 있습니다. 이러한 라인은,open
메소드, 또는 바람직한 설정을 어플리케이션으로 지정할 수 있는 메소드를 추가하는 등 해, 이러한 프로퍼티을 설정하는 기능을 제공합니다.
이 메소드는 인수를 취하지 않고, 현재의 설정으로 라인을 엽니다. 이것은,
객체나 SourceDataLine
객체의 경우, 라인이 디폴트 설정으로 열리는 것을 의미합니다. 그러나 TargetDataLine
의 경우, 버퍼 사이즈는 데이터의 로드시로 결정됩니다. 이 메소드에서는 로드하는 데이터를 어플리케이션으로 지정할 수 없기 때문에, IllegalArgumentException 가 throw 됩니다. 따라서, 이 대신에,Clip
Clip
인터페이스에 갖춰지고 있는 open
메소드의 1 개를 사용해, 데이터를 Clip
에 로드합니다.
DataLine
에서는, 라인의 취득에 사용된 DataLine.Info
객체가, 1 개(살) 이상의 완전 수식 오디오 형식을 지정하는 경우, 마지막 형식이 디폴트가 됩니다.
IllegalArgumentException
- 이 메소드가 Clip 인스턴스에 대해서 불려 갔을 경우
LineUnavailableException
- 자원의 제약을 위해서(때문에)
라인을 열지 않는 경우
SecurityException
- 시큐리티의 제약을 위해서(때문에)
라인을 열지 않는 경우close()
,
isOpen()
,
LineEvent
,
DataLine
,
Clip.open(AudioFormat, byte[], int, int)
,
Clip.open(AudioInputStream)
void close()
CLOSE
이벤트가 라인의 청취자에게 발송 됩니다.
SecurityException
- 시큐리티의 제약을 위해서(때문에)
라인을 닫을 수가 없는 경우open()
,
isOpen()
,
LineEvent
boolean isOpen()
true
, 그렇지 않은 경우는 false
open()
,
close()
Control [] getControls()
getControl(javax.sound.sampled.Control.Type)
boolean isControlSupported(Control.Type control)
control
- 지원가 조회되는 컨트롤의 타입
true
,
그렇지 않은 경우는 false
Control getControl(Control.Type control)
control
- 요구된 컨트롤의 타입
IllegalArgumentException
- 지정된 타입의 컨트롤이
지원되어 있지 않은 경우getControls()
,
isControlSupported(Control.Type control)
void addLineListener(LineListener listener)
update()
메소드가 불려 가 변화를 설명하는 update()
객체가 나타납니다.
listener
- 청취자로서 이 라인에 추가하는 객체removeLineListener(javax.sound.sampled.LineListener)
,
LineListener.update(javax.sound.sampled.LineEvent)
,
LineEvent
void removeLineListener(LineListener listener)
listener
- 삭제하는 청취자addLineListener(javax.sound.sampled.LineListener)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.