MidiFileFormat

MidiFileFormat

MIDI 파일의 유형, 길이, 타이밍 정보를 캡슐화하는 클래스예요. MidiFileFormat 객체는 일련의 속성(properties) 집합을 포함할 수 있어요.

출처: Java API Reference

본문

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

더 알아보기