JavaTM 2 Platform
Standard Ed. 6

javax.sound.midi
類別 MidiFileFormat

java.lang.Object
  繼承者 javax.sound.midi.MidiFileFormat

public class MidiFileFormat
extends Object

MidiFileFormat 物件,它封裝了 MIDI 檔案的型別、長度和定時資訊。

MidiFileFormat 物件可包含一組屬性。屬性是一對鍵和值:鍵的型別是 String,關聯屬性值是任意物件。屬性指定其他的資訊元資料(如作者或版權)。屬性是可選資訊,不要求檔案 reader 和檔案 writer 實作提供或識別屬性。

下表列出了一些應在實作中使用的常見屬性:

屬性鍵 值型別 描述
"author" String 此檔案的作者名
"title" String 此檔案的標題
"copyright" String 版權訊息
"date" Date 錄製或發行日期
"comment" String 任意文本

另請參見:
MidiSystem.getMidiFileFormat(java.io.File), Sequencer.setSequence(java.io.InputStream stream)

欄位摘要
protected  int byteLength
          MIDI 檔案的長度,以位元組為單位。
protected  float divisionType
          MIDI 檔案的 division 型別。
protected  long microsecondLength
          MIDI 檔案的持續時間,以微秒為單位。
protected  int resolution
          MIDI 檔案的定時精度。
protected  int type
          MIDI 檔案的型別。
static int UNKNOWN_LENGTH
          表示未知長度。
 
建構子摘要
MidiFileFormat(int type, float divisionType, int resolution, int bytes, long microseconds)
          建構一個 MidiFileFormat
MidiFileFormat(int type, float divisionType, int resolution, int bytes, long microseconds, Map<String,Object> properties)
          建構帶一組屬性的 MidiFileFormat
 
方法摘要
 int getByteLength()
          獲得 MIDI 檔案的長度,用 8 位位元組表示。
 float getDivisionType()
          獲得 MIDI 檔案的定時 division 型別。
 long getMicrosecondLength()
          獲得 MIDI 檔案的長度,用微秒表示。
 Object getProperty(String key)
          獲得由鍵指定的屬性值。
 int getResolution()
          獲得 MIDI 檔案的定時精度。
 int getType()
          獲得 MIDI 檔案型別。
 Map<String,Object> properties()
          獲得屬性的一個不可修改的映射。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

UNKNOWN_LENGTH

public static final int UNKNOWN_LENGTH
表示未知長度。

另請參見:
getByteLength(), getMicrosecondLength(), 常數欄位值

type

protected int type
MIDI 檔案的型別。


divisionType

protected float divisionType
MIDI 檔案的 division 型別。

另請參見:
Sequence.PPQ, Sequence.SMPTE_24, Sequence.SMPTE_25, Sequence.SMPTE_30DROP, Sequence.SMPTE_30

resolution

protected int resolution
MIDI 檔案的定時精度。


byteLength

protected int byteLength
MIDI 檔案的長度,以位元組為單位。


microsecondLength

protected long microsecondLength
MIDI 檔案的持續時間,以微秒為單位。

建構子詳細資訊

MidiFileFormat

public MidiFileFormat(int type,
                      float divisionType,
                      int resolution,
                      int bytes,
                      long microseconds)
建構一個 MidiFileFormat

參數:
type - MIDI 檔案型別(0、1 或 2)
divisionType - 定時 division 型別(PPQ 或某一 SMPTE 型別)
resolution - 定時精度
bytes - MIDI 檔案的長度,以位元組為單位,如果長度未知,則為 UNKNOWN_LENGTH
microseconds - 檔案的持續時間,以微秒為單位,如果檔案持續時間未知,則為 UNKNOWN_LENGTH
另請參見:
UNKNOWN_LENGTH, Sequence.PPQ, Sequence.SMPTE_24, Sequence.SMPTE_25, Sequence.SMPTE_30DROP, Sequence.SMPTE_30

MidiFileFormat

public MidiFileFormat(int type,
                      float divisionType,
                      int resolution,
                      int bytes,
                      long microseconds,
                      Map<String,Object> properties)
建構帶一組屬性的 MidiFileFormat

參數:
type - MIDI 檔案型別(0、1 或 2)
divisionType - 定時 division 型別(PPQ 或某一 SMPTE 型別)
resolution - 定時精度
bytes - MIDI 檔案的長度,以位元組為單位,如果長度未知,則為 UNKNOWN_LENGTH
microseconds - 檔案的持續時間,以微秒為單位,如果檔案持續時間未知,則為 UNKNOWN_LENGTH
properties - 一個帶屬性的 Map<String,Object> 物件
從以下版本開始:
1.5
另請參見:
UNKNOWN_LENGTH, Sequence.PPQ, Sequence.SMPTE_24, Sequence.SMPTE_25, Sequence.SMPTE_30DROP, Sequence.SMPTE_30
方法詳細資訊

getType

public int getType()
獲得 MIDI 檔案型別。

返回:
檔案的型別(0、1 或 2)

getDivisionType

public float getDivisionType()
獲得 MIDI 檔案的定時 division 型別。

返回:
division 型別(PPQ 或某一 SMPTE 型別)
另請參見:
Sequence.Sequence(float, int), Sequence.PPQ, Sequence.SMPTE_24, Sequence.SMPTE_25, Sequence.SMPTE_30DROP, Sequence.SMPTE_30, Sequence.getDivisionType()

getResolution

public int getResolution()
獲得 MIDI 檔案的定時精度。如果 division 型別為 PPQ,則精度按每拍的節拍數指定。對於 SMTPE 定時,精度按每幀的節拍數指定。

返回:
每拍 (PPQ) 或每幀 (SMPTE) 的節拍數
另請參見:
getDivisionType(), Sequence.getResolution()

getByteLength

public int getByteLength()
獲得 MIDI 檔案的長度,用 8 位位元組表示。

返回:
檔案中的位元組數,如果未知,則為 UNKNOWN_LENGTH
另請參見:
UNKNOWN_LENGTH

getMicrosecondLength

public long getMicrosecondLength()
獲得 MIDI 檔案的長度,用微秒表示。

返回:
檔案的持續時間,以微秒為單位,如果未知,則返回 UNKNOWN_LENGTH
另請參見:
Sequence.getMicrosecondLength(), getByteLength(), UNKNOWN_LENGTH

properties

public Map<String,Object> properties()
獲得屬性的一個不可修改的映射。在類別描述中對屬性的概念進行了進一步的介紹。

返回:
一個套件含所有屬性的 Map<String,Object> 物件。如果沒有任何可識別的屬性,則返回一個空映射。
從以下版本開始:
1.5
另請參見:
getProperty(String)

getProperty

public Object getProperty(String key)
獲得由鍵指定的屬性值。在類別描述中對屬性的概念進行了進一步的介紹。

如果對於一個特定的檔案格式,指定的屬性未定義,則此方法返回 null

參數:
key - 所需屬性的鍵
返回:
具有指定鍵的屬性的值,如果此屬性不存在,則返回 null
從以下版本開始:
1.5
另請參見:
properties

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only