AudioSystem
AudioSystem
오디오 시스템 리소스에 접근하는 클래스예요. 이 클래스는 믹서, 데이터 라인, 오디오 파일 등에 접근하는 정적 메서드를 제공해요.
본문
javax.sound.sampled 패키지에 속하는 클래스로, java.lang.Object를 상속해요. AudioSystem 클래스는 다양한 오디오 시스템 리소스와 상호작용하기 위한 정적 메서드들을 제공해요. 일반적으로 다음 작업에 사용해요.
- 믹서, 데이터 라인, 포트 얻기
- 오디오 파일을
AudioInputStream으로 읽거나 특정 형식으로 쓰기 - 오디오 파일 형식 질의
public class AudioSystem extends Object
상수
NOT_SPECIFIED: 길이, 레이트 등이 알려지지 않은 값을 나타내는 상수(-1)
getMixer
public static Mixer getMixer(Mixer.Info info)
지정된 정보 객체가 설명하는 믹서를 얻어요.
- 파라미터
info: 믹서를 설명하는 정보 객체 - 반환값: 요청된 믹서
getMixerInfo
public static Mixer.Info[] getMixerInfo()
이 시스템에서 사용 가능한 믹서에 대한 정보를 얻어요.
- 반환값: 사용 가능한 믹서 정보 객체의 배열
getSourceDataLine
public static SourceDataLine getSourceDataLine(AudioFormat format)
throws LineUnavailableException
지정된 형식의 소스 데이터 라인(재생 라인)을 얻어요. 열려 있지 않은 라인을 반환해요.
- 파라미터
format: 라인에 대한 오디오 형식 - 반환값: 요청된 라인
- 예외
LineUnavailableException: 라인을 만드는 데 일치하는 믹서가 없거나 라인을 열 수 없는 경우
getClip
public static Clip getClip() throws LineUnavailableException
클립 라인을 얻어요. 클립은 메모리에 오디오 데이터를 로드해 재생하는 라인이에요.
- 반환값: 요청된 클립
- 예외
LineUnavailableException: 클립을 만드는 데 일치하는 믹서가 없거나 클립을 열 수 없는 경우
getTargetDataLine
public static TargetDataLine getTargetDataLine(AudioFormat format)
throws LineUnavailableException
지정된 형식의 대상 데이터 라인(녹음 라인)을 얻어요.
- 파라미터
format: 라인에 대한 오디오 형식 - 반환값: 요청된 라인
- 예외
LineUnavailableException: 라인을 만드는 데 일치하는 믹서가 없거나 라인을 열 수 없는 경우
getAudioFileFormat
public static AudioFileFormat getAudioFileFormat(File file)
throws UnsupportedAudioFileException, IOException
지정된 파일의 오디오 파일 형식을 얻어요.
- 파라미터
file: 오디오 파일 - 반환값: 오디오 파일 형식
- 예외
UnsupportedAudioFileException: 파일이 지원되는 오디오 파일 형식이 아닌 경우 - 예외
IOException: I/O 오류가 발생한 경우
getAudioInputStream
public static AudioInputStream getAudioInputStream(File file)
throws UnsupportedAudioFileException, IOException
지정된 파일에서 오디오 입력 스트림을 얻어요. 파일의 오디오 형식으로 스트림을 만들어요.
- 파라미터
file: 오디오 파일 - 반환값: 오디오 입력 스트림
- 예외
UnsupportedAudioFileException: 파일이 지원되는 오디오 파일 형식이 아닌 경우 - 예외
IOException: I/O 오류가 발생한 경우
getAudioInputStream
public static AudioInputStream getAudioInputStream(AudioFormat targetFormat,
AudioInputStream sourceStream)
이 소스 스트림을 지정된 대상 형식으로 변환한 새 오디오 입력 스트림을 얻어요. 대상 형식과 소스 형식이 같으면 소스 스트림을 반환해요.
getAudioFileTypes
public static AudioFileFormat.Type[] getAudioFileTypes()
이 시스템이 쓸 수 있는 오디오 파일 유형을 얻어요.
- 반환값: 지원되는 파일 유형 배열. 지원하지 않으면 길이가 0인 배열
write
public static int write(AudioInputStream stream,
AudioFileFormat.Type fileType, OutputStream out)
throws IOException
오디오 입력 스트림의 데이터를 지정된 형식과 유형으로 출력 스트림에 써요. 쓴 바이트 수를 반환해요.
- 파라미터
stream: 쓸 오디오 데이터 스트림 - 파라미터
fileType: 파일 유형(WAVE 등) - 파라미터
out: 오디오 데이터를 쓸 출력 스트림 - 반환값: 쓴 바이트 수
- 예외
IOException: I/O 오류가 발생한 경우
write
public static int write(AudioInputStream stream,
AudioFileFormat.Type fileType, File out)
throws IOException
오디오 데이터를 지정된 파일에 써요. 파일이 존재하면 덮고, 없으면 새로 만들어요. 쓴 바이트 수를 반환해요.