AudioInputStream
AudioInputStream
오디오 데이터를 읽는 입력 스트림을 나타내는 클래스예요. InputStream을 상속하고 오디오 형식 정보를 담아요.
본문
javax.sound.sampled 패키지에 속하는 클래스로, java.io.InputStream을 상속해요. AudioInputStream은 특정 오디오 형식으로 인코딩된 오디오 데이터의 스트림을 나타내요. 읽기 인터페이스(read)를 통해 오디오 데이터 바이트를 읽을 수 있어요.
public class AudioInputStream extends InputStream
생성자
public AudioInputStream(InputStream stream, AudioFormat format, long length)
지정된 입력 스트림, 오디오 형식, 길이로 새 오디오 입력 스트림을 생성해요.
- 파라미터
stream: 오디오 데이터를 담은 입력 스트림 - 파라미터
format: 오디오 데이터의 형식 - 파라미터
length: 오디오 데이터의 길이(샘플 프레임 단위). 알 수 없으면AudioSystem.NOT_SPECIFIED
public AudioInputStream(TargetDataLine line)
지정된 대상 데이터 라인(예: 마이크)에서 오디오 데이터를 읽는 새 오디오 입력 스트림을 생성해요. 라인의 형식이 사용돼요.
- 파라미터
line: 오디오 데이터를 제공하는 대상 데이터 라인
getFormat
public AudioFormat getFormat()
이 스트림의 오디오 형식을 얻어요.
- 반환값: 오디오 형식
getFrameLength
public long getFrameLength()
스트림의 길이를 샘플 프레임 단위로 얻어요.
- 반환값: 프레임 길이. 알 수 없으면
AudioSystem.NOT_SPECIFIED
getFramePosition
public long getFramePosition()
스트림의 현재 위치를 샘플 프레임 단위로 얻어요.
- 반환값: 현재 프레임 위치
read
public int read() throws IOException
스트림에서 다음 바이트를 읽어요. 바이트 값을 반환하고, 끝에 도달하면 -1을 반환해요.
- 반환값: 다음 데이터 바이트. 스트림 끝이면 -1
- 예외
IOException: I/O 오류가 발생한 경우
read(byte[], int, int)는 오디오 데이터 바이트를 배열로 읽고, skip(long)은 바이트를 건너뛰어요.
available
public int available() throws IOException
차단 없이 읽을 수 있는 바이트 수를 얻어요.
- 반환값: 읽을 수 있는 바이트 수
- 예외
IOException: I/O 오류가 발생한 경우
close
public void close() throws IOException
스트림을 닫고 관련 리소스를 해제해요.
- 예외
IOException: I/O 오류가 발생한 경우