|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface DataLine
DataLine
는, 미디어 관련의 기능을 그 슈퍼 인터페이스,
에 추가합니다. 이 기능에는, 라인을 개입시켜 건네받는 오디오 데이터를 개시, 정지, 배출, 및 플래시 하는 이송 제어 메소드가 포함됩니다. 데이터 라인은 현재의 위치, 볼륨, 미디어의 오디오 형식에 대해서도 리포트할 수 있습니다. 데이터 라인은, 응용 프로그램으로 데이터의 기입을 가능하게 하는 서브 인터페이스,Line
또는 SourceDataLine
에 의해, 오디오의 출력용으로 사용됩니다. 같이 오디오 입력은, 데이터의 읽기를 가능하게 하는 서브 인터페이스,Clip
로 처리됩니다.
TargetDataLine
데이터 라인에는, 수신 또는 송신 오디오 데이터를 큐에 넣는 내부 버퍼가 있습니다. 일반적으로 큐에 넣어진 데이터는 모두 처리되기 (위해)때문에,
메소드는 내부 버퍼가 비울 때까지 블록 됩니다. drain()
메소드는, 내부 버퍼로부터 큐에 넣어진 사용 가능한 데이터를 모두 파기합니다.
flush()
데이터 라인은, 데이터의 액티브한 표시나 혼잡이 개시 또는 정지되면(자), 항상
및 START
이벤트를 생성합니다. 이러한 이벤트는, 특정의 요구에 응답해, 또는 직접 변경된 상태가 적은 경우에 생성됩니다. 예를 들어,STOP
가 액티브하지 않은 데이터 라인에 불려 가 데이터의 수중에 넣어 또는 재생이 가능한 경우는, 실제로 데이터의 재생이나 혼잡을 개시하면(자) start()
START
이벤트가 즉시 생성됩니다. 혹은, 액티브한 데이터 라인에 대한 데이터의 플로우를 수축한 결과, 데이터의 표시에 갭이 생기면(자),STOP
이벤트가 생성됩니다.
믹서는, 복수의 데이터 라인의 동기 제어를 지원하는 경우가 자주 있습니다. 동기화는, 믹서 인터페이스의
메소드를 개입시켜 확립할 수 있습니다. 자세한 것은,synchronize
인터페이스의 설명을 참조해 주세요.
Mixer
LineEvent
상자의 클래스의 개요 | |
---|---|
static class |
DataLine.Info
슈퍼 클래스로부터 상속된 클래스 정보 이외에, DataLine.Info 는 데이터 라인에 고유의 추가 정보를 제공합니다. |
메소드의 개요 | |
---|---|
int |
available ()
어플리케이션이 데이터 라인의 내부 버퍼내에서 현재 처리할 수 있는 데이터의 바이트수를 가져옵니다. |
void |
drain ()
데이터의 입출력을 데이터 라인의 내부 버퍼가 비울 때까지 계속해, 그 라인으로부터 큐에 들어가 있는 데이터를 배출합니다. |
void |
flush ()
라인으로부터 큐에 들어가 있는 데이터를 플래시 합니다. |
int |
getBufferSize ()
데이터 라인의 내부 버퍼내에 들어가는 데이터의 최대 바이트수를 가져옵니다. |
AudioFormat |
getFormat ()
데이터 라인의 오디오 데이터의 현재의 형식 (인코딩, 샘플 레이트, 채널수등)을 가져옵니다. |
int |
getFramePosition ()
오디오 데이터의 현재의 위치를 샘플 프레임수로 가져옵니다. |
float |
getLevel ()
라인의 현재의 볼륨 레벨을 가져옵니다. |
long |
getLongFramePosition ()
오디오 데이터의 현재의 위치를 샘플 프레임수로 가져옵니다. |
long |
getMicrosecondPosition ()
오디오 데이터내의 현재의 위치를 마이크로 세컨드 단위로 가져옵니다. |
boolean |
isActive ()
라인이 액티브한 입출력 (재생이나 혼잡등)을 실행하고 있을지 어떨지를 나타냅니다. |
boolean |
isRunning ()
라인이 실행중인가 어떤가를 나타냅니다. |
void |
start ()
라인에서의 데이터 입출력을 가능하게 합니다. |
void |
stop ()
라인을 정지합니다. |
인터페이스 javax.sound.sampled. Line 로부터 상속된 메소드 |
---|
addLineListener , close , getControl , getControls , getLineInfo , isControlSupported , isOpen , open , removeLineListener |
메소드의 상세 |
---|
void drain()
drain()
를 호출하면(자), 라인이 실행되어 데이터 큐가 비울 때까지 이 메소드는 블록 됩니다. drain()
를 1 개의 thread로 호출해, 다른 thread로 데이터 큐의 포함을 계속하면(자), 조작은 완료하지 않습니다. 이 메소드는 데이터 라인이 닫으면(자) 항상 돌려주어집니다.
flush()
void flush()
stop()
,
drain()
void start()
START
이벤트가 생성됩니다.
stop()
,
isRunning()
,
LineEvent
void stop()
flush
메소드를 호출해 보관 유지되고 있는 데이터를 파기할 수 있습니다. 오디오 수중에 넣어 또는 재생을 정지하면(자),STOP
이벤트가 생성됩니다.
start()
,
isRunning()
,
flush()
,
LineEvent
boolean isRunning()
false
입니다. 열린 라인은,start
메소드의 호출에 응해 최초의 데이터가 제시되면(자) 실행이 개시되어stop
메소드의 호출에 응해, 혹은 재생이 완료해, 표시되지 않게 될 때까지 계속해 실행됩니다.
true
, 그렇지 않은 경우는 false
start()
,
stop()
boolean isActive()
START
이벤트를 그 청취자에게 송신합니다. 같이 액티브한 라인이 액티브하지 않게 되면(자), 라인은 STOP
이벤트를 송신합니다.
true
,
그렇지 않은 경우는 false
Line.isOpen()
,
Line.addLineListener(javax.sound.sampled.LineListener)
,
Line.removeLineListener(javax.sound.sampled.LineListener)
,
LineEvent
,
LineListener
AudioFormat getFormat()
현재 열지 않고, 지금까지도 열었던 적이 없는 라인은, 디폴트의 형식을 돌려줍니다. 디폴트의 형식은, 구현 고유의 오디오 형식이 됩니다. 또는,DataLine.Info
객체 (이 DataLine
의 취득에 사용)가 1 개 이상의 완전 수식 오디오 형식을 지정하는 경우, 마지막 것이 디폴트의 형식이 됩니다. 특정의 오디오 형식 (SourceDataLine.open(AudioFormat)
등)으로 라인을 열면(자), 디폴트의 형식은 오버라이드(override) 됩니다.
AudioFormat
int getBufferSize()
int available()
사용되는 단위는 바이트입니다만, 단위는 오디오 데이터의 샘플 프레임의 적분수에 항상 일치합니다.
어플리케이션에서는,available()
로부터 반환된 바이트수까지의 읽어들여 또는 기입해 조작은 블록 되지 않습니다. 다만, 그 바이트수보다 많은 데이터의 읽어들여 또는 기입해 조작을 실행하면(자) 블록 될지 어떨지 확실하지는 않습니다.
int getFramePosition()
getLongFramePosition
를 사용하는 것을 추천합니다.
getLongFramePosition()
long getLongFramePosition()
long getMicrosecondPosition()
float getLevel()
AudioSystem.NOT_SPECIFIED
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.