1
當從MidiDevice收聽NAudio中的MidiEvents時,我們會在每個事件中獲得長時間的「AbsoluteTime」屬性。但是這個時間單位是從什麼出發點開始衡量的?在收聽來自設備的消息時,AbosoluteTime的單位是什麼?
當從MidiDevice收聽NAudio中的MidiEvents時,我們會在每個事件中獲得長時間的「AbsoluteTime」屬性。但是這個時間單位是從什麼出發點開始衡量的?在收聽來自設備的消息時,AbosoluteTime的單位是什麼?
在MIDI文件中,每個事件自上次事件以來都有一個「滴答」中的差值。爲了使MIDI文件更易於使用,NAudio保持運行總數,將值存儲在AbsoluteTime中。其含義取決於每四分音符(這是MidiFile類中的一個屬性)的三角形刻度,以及節奏(MIDI文件應該至少包含一個TempoEvent)。
當從設備收聽MIDI事件時,創建的MIDI事件的絕對時間將爲0.但是,您可以使用MidiInMessageEventArgs的TimeStamp屬性,我相信這是MidiInStart調用後的毫秒數。
根據這裏的討論(http://naudio.codeplex.com/discussions/237575),我懷疑它會脫離標準的MIDI時鐘,這意味着每個四分音符將會有96個。但我不確定,但我不使用NAudio庫。 – Brad