MidiFileFormat
MidiFileFormat
MIDI 파일의 유형, 길이, 타이밍 정보를 캡슐화하는 클래스예요. MidiFileFormat 객체는 일련의 속성(properties) 집합을 포함할 수 있어요.
본문
javax.sound.midi 패키지에 속하는 클래스로, java.lang.Object를 상속해요.
속성은 키와 값의 쌍이에요. 키는 String 타입이고, 연관된 속성 값은 임의의 객체예요. 속성은 추가 정보 메타데이터(작성자, 저작권 등)를 지정해요. 속성은 선택적 정보이며, 파일 읽기·쓰기 구현이 속성을 제공하거나 인식할 필요는 없어요.
일반적인 속성에는 "author"(파일 작성자 이름), "title"(파일 제목), "copyright"(저작권 메시지), "date"(녹음·발매 날짜), "comment"(임의 텍스트)가 있어요.
public class MidiFileFormat extends Object
필드
UNKNOWN_LENGTH(int): 알 수 없는 길이를 나타내요.type(int): MIDI 파일 유형divisionType(float): MIDI 파일의 분할 유형resolution(int): MIDI 파일의 타이밍 해상도byteLength(int): MIDI 파일의 바이트 길이microsecondLength(long): MIDI 파일의 마이크로초 단위 지속 시간
생성자
public MidiFileFormat(int type, float divisionType, int resolution,
int bytes, long microseconds)
MidiFileFormat을 생성해요.
- 파라미터
type: MIDI 파일 유형(0, 1, 또는 2) - 파라미터
divisionType: 타이밍 분할 유형(PPQ 또는 SMPTE 유형 중 하나) - 파라미터
resolution: 타이밍 해상도 - 파라미터
bytes: MIDI 파일의 바이트 길이. 알 수 없으면UNKNOWN_LENGTH - 파라미터
microseconds: 파일의 마이크로초 단위 지속 시간. 알 수 없으면UNKNOWN_LENGTH
public MidiFileFormat(int type, float divisionType, int resolution,
int bytes, long microseconds,
Map<String,Object> properties)
일련의 속성과 함께 MidiFileFormat을 생성해요.
getType
public int getType()
MIDI 파일 유형을 얻어요.
- 반환값: 파일 유형(0, 1, 또는 2)
getDivisionType
public float getDivisionType()
MIDI 파일의 타이밍 분할 유형을 얻어요.
- 반환값: 분할 유형(PPQ 또는 SMPTE 유형 중 하나)
getResolution
public int getResolution()
MIDI 파일의 타이밍 해상도를 얻어요. 분할 유형이 PPQ면 해상도는 비트(박)당 틱으로 지정되고, SMPTE 타이밍이면 프레임당 틱으로 지정돼요.
- 반환값: PPQ면 박당 틱 수, SMPTE면 프레임당 틱 수
getByteLength
public int getByteLength()
MIDI 파일의 길이를 8비트 바이트로 얻어요.
- 반환값: 파일의 바이트 수. 알 수 없으면
UNKNOWN_LENGTH
getMicrosecondLength
public long getMicrosecondLength()
MIDI 파일의 길이를 마이크로초로 얻어요.
- 반환값: 파일의 마이크로초 단위 지속 시간. 알 수 없으면
UNKNOWN_LENGTH
properties
public Map<String,Object> properties()
수정할 수 없는 속성 맵을 얻어요. 인식된 속성이 없으면 빈 맵이 반환돼요.
- 반환값: 모든 속성을 담은
Map<String,Object>
getProperty
public Object getProperty(String key)
키가 지정한 속성 값을 얻어요. 특정 파일 형식에 대해 지정된 속성이 정의되지 않았으면 null을 반환해요.
- 파라미터
key: 원하는 속성의 키 - 반환값: 지정된 키를 가진 속성의 값. 속성이 존재하지 않으면
null