|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
public interface Clip
Clip
인터페이스는 특수한 종류의 데이터 라인을 나타내, 그 오디오 데이터는 리얼타임에 스트림화하는 것이 아니라, 재생전에 로드할 수 있습니다.
데이터는 프리로드 되고 길이가 인식되고 있기 (위해)때문에, 클립을 설정하면(자) 그 오디오 데이터내의 임의의 위치로부터 재생을 개시할 수 있습니다. 또, 루프를 작성해, 클립을 반복해 재생할 수도 있습니다. 루프를 설정하려면 , 재생하는 회수와 개시 및 종료 샘플 프레임을 지정합니다.
클립은 이 타입의 라인을 지원하는
로부터 취득할 수 있습니다. 클립을 열면(자) 데이터가 클립에 로드 됩니다.
Mixer
오디오 클립의 재생은,start
및 stop
메소드를 사용해 개시 및 정지할 수 있습니다. 이러한 메소드는, 미디어의 위치를 리셋 하지 않습니다. 즉,start
메소드를 사용하면(자), 마지막에 정지한 위치로부터 재생이 재개됩니다. 클립의 오디오 데이터의 선두로부터 재생을 개시하려면 ,
를 호출한 다음에 setFramePosition(0)를 호출하는 것으로 미디어를 클립의 선두에 되감습니다.
stop
상자의 클래스의 개요 |
---|
인터페이스 javax.sound.sampled. DataLine 로부터 상속된 상자의 클래스/인터페이스 |
---|
DataLine.Info |
필드의 개요 | |
---|---|
static int |
LOOP_CONTINUOUSLY
루프는 특정 회수 반복해 실행된 다음에 종료하는 것이 아니라 무제한하게 계속하는 것을 나타내는 값 |
메소드의 개요 | |
---|---|
int |
getFrameLength ()
미디어의 길이를 샘플 프레임수로 가져옵니다. |
long |
getMicrosecondLength ()
메디아듀레이션을 마이크로 세컨드 단위로 가져옵니다. |
void |
loop (int count)
현재의 위치로부터 루프 재생을 개시합니다. |
void |
open (AudioFormat format,
byte[] data,
int offset,
int bufferSize)
클립을 열어, 필요한 system resource를 획득해 조작 가능하게 되어 있는 것을 나타냅니다. |
void |
open (AudioInputStream stream)
지정한 오디오 입력 스트림내에 제시되고 있는 형식 및 오디오 데이터로 클립을 엽니다. |
void |
setFramePosition (int frames)
미디어의 위치를 샘플 프레임수로 설정합니다. |
void |
setLoopPoints (int start,
int end)
루프내에서 재생되는 최초 및 마지막 샘플 프레임을 설정합니다. |
void |
setMicrosecondPosition (long microseconds)
미디어 위치를 마이크로 세컨드 단위로 설정합니다. |
인터페이스 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 |
필드의 상세 |
---|
static final int LOOP_CONTINUOUSLY
loop(int)
,
정수 필드치 메소드의 상세 |
---|
void open(AudioFormat format, byte[] data, int offset, int bufferSize) throws LineUnavailableException
OPEN
이벤트가 라인의 청취자에게 발송 됩니다.
벌써 열려 있는 라인으로 이 메소드를 호출하는 것은 올바르지 않은 액션이기 (위해)때문에, IllegalStateException 가 표시되는 일이 있습니다.
라인에 따라서는, 한 번 닫으면(자) 재차 열 수가 없는 경우가 있습니다. 이러한 라인을 재차 열려고 하면(자), 항상
가 throw 됩니다.
LineUnavailableException
format
- 지정된 오디오 데이터의 형식data
- 클립에 로드하는 오디오 데이터를 포함한 바이트 배열offset
- 배열의 처음부터바이트수로 나타내지는, 카피의 개시 지점bufferSize
- 배열로부터 클립에 로드하는 데이터의
바이트수
LineUnavailableException
- 자원의 제약을 위해서(때문에)
라인을 열지 않는 경우
IllegalArgumentException
- 버퍼 사이즈가 샘플 frame size
배수가 아닌 경우,
혹은 format
의 지정이 불완전 또는 무효인 경우
IllegalStateException
- 라인이 벌써 열려 있는 경우
SecurityException
- 시큐리티의 제약을 위해서(때문에)
라인을 열지 않는 경우Line.close()
,
Line.isOpen()
,
LineListener
void open(AudioInputStream stream) throws LineUnavailableException , IOException
OPEN
이벤트가 라인의 청취자에게 발송 됩니다.
벌써 열려 있는 라인으로 이 메소드를 호출하는 것은 올바르지 않은 액션이기 (위해)때문에, IllegalStateException 가 표시되는 일이 있습니다.
라인에 따라서는, 한 번 닫으면(자) 재차 열 수가 없는 경우가 있습니다. 이러한 라인을 재차 열려고 하면(자), 항상
가 throw 됩니다.
LineUnavailableException
stream
- 오디오 데이터가 클립에 읽히는 오디오 입력 스트림
LineUnavailableException
- 자원의 제약을 위해서(때문에)
라인을 열지 않는 경우
IOException
- 스트림의 read중에 입출력 예외가 발생했을 경우
IllegalArgumentException
- 스트림의 오디오 형식의 지정이
불완전 또는 무효인 경우
IllegalStateException
- 라인이 벌써 열려 있는 경우
SecurityException
- 시큐리티의 제약을 위해서(때문에)
라인을 열지 않는 경우Line.close()
,
Line.isOpen()
,
LineListener
int getFrameLength()
AudioSystem.NOT_SPECIFIED
AudioSystem.NOT_SPECIFIED
long getMicrosecondLength()
AudioSystem.NOT_SPECIFIED
AudioSystem.NOT_SPECIFIED
void setFramePosition(int frames)
현재의 위치를 샘플 프레임수로 가져오려면 ,DataLine
의
메소드를 사용합니다.
getFramePosition
frames
- 샘플 프레임수로 나타내지는, 필요한 신규 미디어 위치void setMicrosecondPosition(long microseconds)
현재의 위치를 마이크로 세컨드 단위로 가져오려면 ,DataLine
의
메소드를 사용합니다.
getMicrosecondPosition
microseconds
- 마이크로 세컨드수로 나타내지는, 필요한 신규 미디어 위치void setLoopPoints(int start, int end)
start
- 루프의 개시 위치 (샘플 프레임수, 제로로부터 시작된다)end
- 루프의 최종 위치 (샘플 프레임수, 제로로부터 시작된다), 또는
최종 프레임을 나타내는 경우는 -1
IllegalArgumentException
- 요구되었다
루프 지점을 설정할 수 없는 경우. 일반적으로은, 개시 및 최종의 양쪽 모두 또는 어느 쪽인지가 미디어의
듀레이션외에 있기 (위해)때문에, 혹은 최종 지점이 개시 포인트의 전에
어느 원인void loop(int count)
count
회 돌아와, 그 후는 클립의 끝까지 재생합니다.
이 메소드를 호출했을 때에 현재의 위치가 루프의 최종 지점보다 커지는 경우는, 루프는 실행되지 않고, 클립의 끝까지 그대로 재생됩니다.
count
치를 0 으로 하면(자), 현재의 루프를 정지해 클립의 끝까지 재생을 계속하는 것을 나타냅니다. 루프의 조작중에 다른 값을 지정해 이 메소드를 호출했을 때의 동작은 정의되고 있지 않습니다.
루프중에 재생을 정지하면(자), 현재의 루프 모양태는 해제됩니다. 후속의 루프와 개시 요구의 동작은, 중단된 루프 조작에 의해 영향을 받지 않습니다.
count
- 루프의 종점으로부터 루프의 시점까지 재생을 루프백 하는 회수,
또는 루프가 중단될 때까지 루프를 계속하는 것을 나타내는 경우는
LOOP_CONTINUOUSLY
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.