监听设备消息时,AbosoluteTime 的单位是什么?

发布于 2024-12-05 09:29:35 字数 101 浏览 0 评论 0原文

当从 MidiDevice 监听 NAudio 中的 MidiEvents 时,我们会得到每个事件的长“AbsoluteTime”属性。但是这个时间是用什么单位以及从什么起点开始测量的呢?

When listening for MidiEvents in NAudio from a MidiDevice, we get the long "AbsoluteTime" property on each event. But what unit is this time in and from what starting point is it measured?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浪漫之都 2024-12-12 09:29:35

在 MIDI 文件中,每个事件自上次事件以来都有一个“刻度”增量。为了使 MIDI 文件更易于使用,NAudio 会保留运行总计,并将该值存储在 AbsoluteTime 中。其含义取决于每四分音符的增量刻度(这是 MidiFile 类的属性)和速度(MIDI 文件应至少包含一个 TempoEvent)。

当从设备监听 MIDI 事件时,创建的 MIDI 事件的 AbsoluteTime 将为 0。但是,您可以使用 MidiInMessageEventArgs 的 TimeStamp 属性,我相信该属性以调用 MidiInStart 后的毫秒为单位。

In a MIDI file, each event has a delta in "ticks" since the last event. To make MIDI files easier to work with, NAudio keeps a running total, storing the value in AbsoluteTime. The meaning of this depends on delta ticks per quarter note (which is a property on the MidiFile class), and the tempo (MIDI files ought to include at least one TempoEvent).

When listening for MIDI events from a device, the AbsoluteTime of the MIDI Event created will be 0. However, you can use the TimeStamp property of the MidiInMessageEventArgs which I believe is in milliseconds since MidiInStart was called.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文