|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface TargetDataLine
타겟 데이터 라인은, 오디오 데이터를 거기로부터 읽어들일 수 있는 타입
입니다. 무엇보다 일반적인 예는, 데이터를 오디오 capther-디바이스로부터 취득하는 데이터 라인입니다. 디바이스는 타겟 데이터 라인에 기입하는 믹서로서 구현됩니다.
DataLine
이 인터페이스의 명명 규칙은, 라인과 믹서의 관계를 반영하고 있습니다. 어플리케이션으로부터 보면(자), 타겟 데이터 라인은 오디오 데이터의 소스의 역할을 합니다.
타겟 데이터 라인을 믹서로부터 가져오려면 , 적절한
객체를 지정해 DataLine.Info
Mixer
의
메소드를 호출합니다.
getLine
TargetDataLine
인터페이스는, 타겟 데이터 라인의 버퍼로부터 취득한 데이터를 읽어들이는 메소드를 제공합니다. 오디오를 녹음하는 어플리케이션은, 버퍼가 오버플로우 하지 않게 타겟 데이터 라인으로부터 데이터를 재빠르게 읽어들입니다. 오버플로우 하면(자), 취득한 데이터에 불연속부가 생겨, 클릭소리가 들리는 일이 있습니다. 어플리케이션에서는,DataLine
인터페이스로 정의되고 있는
메소드를 사용해, 데이터 라인의 버퍼로 현재 큐에 들어가 있는 데이터의 양을 판별할 수가 있습니다. 버퍼가 오버플로우를 일으켰을 경우, 큐에 들어가 있는 가장 낡은 데이터가 파기되어 새로운 데이터로 옮겨집니다.
available
Mixer
,
DataLine
,
SourceDataLine
상자의 클래스의 개요 |
---|
인터페이스 javax.sound.sampled. DataLine 로부터 상속된 상자의 클래스/인터페이스 |
---|
DataLine.Info |
메소드의 개요 | |
---|---|
void |
open (AudioFormat format)
지정된 포맷으로 라인을 열어, 라인이 필요한 system resource를 획득해 조작 가능하게 되도록(듯이) 합니다. |
void |
open (AudioFormat format,
int bufferSize)
지정된 포맷과 지정된 버퍼 사이즈로 라인을 열어, 라인이 필요한 system resource를 획득해 조작 가능하게 되도록(듯이) 합니다. |
int |
read (byte[] b,
int off,
int len)
데이터 라인의 입력 버퍼로부터 오디오 데이터를 읽어들입니다. |
인터페이스 javax.sound.sampled. DataLine 로부터 상속된 메소드 |
---|
available , drain , flush , getBufferSize , getFormat , getFramePosition , getLevel , getLongFramePosition , getMicrosecondPosition , isActive , isRunning , start , stop |
인터페이스 javax.sound.sampled. Line 로부터 상속된 메소드 |
---|
addLineListener , close , getControl , getControls , getLineInfo , isControlSupported , isOpen , open , removeLineListener |
메소드의 상세 |
---|
void open(AudioFormat format, int bufferSize) throws LineUnavailableException
버퍼 사이즈는 바이트 단위로 지정합니다만, 샘플 frame size의 배수인 것이 필요합니다. 이 요건에 적합하지 않는 버퍼 사이즈를 지정해 이 메소드를 호출하면(자), IllegalArgumentException 가 throw 되는 일이 있습니다. 연 라인의 실제의 버퍼 사이즈는, 지정한 버퍼 사이즈와는 다른 일이 있습니다. 실제로 설정된 값은, 계속되어
를 호출하면 조회할 수 있습니다.
DataLine.getBufferSize()
이 조작이 성공하면(자), 라인은 열려 있는 상태로서 마크 되어
이벤트가 라인의 청취자에게 발송 됩니다.
OPEN
벌써 열려 있는 라인으로 이 메소드를 호출하는 것은 부적절하고,IllegalStateException
가 표시되는 일이 있습니다.
라인에 따라서는, 한 번 닫으면(자) 재차 열지 않는 경우가 있습니다. 이러한 라인을 재차 열려고 하면(자), 항상 LineUnavailableException
가 표시됩니다.
format
- 바람직한 오디오 형식bufferSize
- 바람직한 버퍼 사이즈, 바이트 단위
LineUnavailableException
- 자원의 제약을 위해서(때문에)
라인을 열지 않는 경우
IllegalArgumentException
- 버퍼 사이즈가 샘플 frame size의
배수가 아닌 경우,
혹은 format
의 지정이 불완전 또는 무효인 경우
IllegalStateException
- 라인이 벌써 열려 있는 경우
SecurityException
- 시큐리티의 제약을 위해서(때문에)
라인을 열지 않는 경우open(AudioFormat)
,
Line.open()
,
Line.close()
,
Line.isOpen()
,
LineEvent
void open(AudioFormat format) throws LineUnavailableException
버퍼 사이즈는 구현에 의해 선택됩니다. 버퍼 사이즈는 바이트 단위입니다만, 샘플 frame size의 배수인 것이 필요합니다. 시스템이 선택한 버퍼 사이즈는, 계속되어
를 호출하면 조회할 수 있습니다.
DataLine.getBufferSize()
이 조작이 성공하면(자), 라인은 열려 있는 상태로서 마크 되어
이벤트가 라인의 청취자에게 발송 됩니다.
OPEN
벌써 열려 있는 라인으로 이 메소드를 호출하는 것은 부적절하고,IllegalStateException
가 표시되는 일이 있습니다.
라인에 따라서는, 한 번 닫으면(자) 재차 열지 않는 경우가 있습니다. 이러한 라인을 재차 열려고 하면(자), 항상 LineUnavailableException
가 표시됩니다.
format
- 바람직한 오디오 형식
LineUnavailableException
- 시큐리티의 제약을 위해서(때문에)
라인을 열지 않는 경우
IllegalArgumentException
- format
의
의 지정이 불완전 또는 무효인 경우
IllegalStateException
- 라인이 벌써 열려 있는 경우
SecurityException
- 시큐리티의 제약을 위해서(때문에)
라인을 열지 않는 경우open(AudioFormat, int)
,
Line.open()
,
Line.close()
,
Line.isOpen()
,
LineEvent
int read(byte[] b, int off, int len)
블록 되지 않고 읽어들일 수 있는 바이트수는,DataLine
인터페이스의
메소드를 사용해 확인할 수 있습니다. 이 바이트수는 블록 되지 않고 확실히 읽어들일 수 있습니다만, 추가 데이터를 읽어들이려고 했을 때에 블록 될지 어떨지는 확실하지는 않습니다.
available
읽히는 바이트수는, 다음과 같은 완전한 샘플 프레임수를 나타낼 필요가 있습니다.
[읽히는 바이트수] % [frame size의 바이트수] == 0
b
- 이 메소드가 돌려줄 때의, 요구된 입력 데이터를 포함한 바이트 배열off
- 배열의 선두로부터의 좌표, 바이트 단위len
- read 요구된 바이트수
IllegalArgumentException
- 요구된 바이트수가
샘플 frame size의 배수가 아닌 경우,
또는 len
가 0 보다 작은 값의 경우
ArrayIndexOutOfBoundsException
- off
가 0 보다 작은 값의 경우,
또는 off+len
가 배열 b
의 길이보다 큰 경우SourceDataLine.write(byte[], int, int)
,
DataLine.available()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.