如何计算 MIDI 文件的时间长度

2024-04-03

我正在使用名为 midas 的有用库的帮助下读取 as3 (flash cs5) 中的 midi 文件 (http://code.google.com/p/midas3/ http://code.google.com/p/midas3/) - midi-as3 库。

我试图找出一种简单的方法来计算 MIDI 文件的整个持续时间(例如 - 4 分钟或 6 分钟的总时间...)。我假设我可以计算每首曲目的最后一个音符+检查节奏并找出答案,但我想知道是否:

MIDI 文件的持续时间是否写在数据中的某处,我可以直接取出并使用?

or

有没有一种简单的方法可以计算它而无需运行整个文件并比较最后的音符/速度。


不,您需要阅读整个文件并确定阅读最后一个音符的时间。 MIDI 文件本质上是流数据,因此文件头中没有“长度”字段。

编辑:经过进一步思考,“流式传输”并不是描述 MIDI 文件的好方法。 MIDI 文件确实具有固定的字节长度,该长度存储在 IFF 块标头中。但是,没有关于文件长度(以秒为单位)的属性,但假设您可以将所有字节读入序列中(并且不要忘记考虑速度变化!),这应该不会太困难确定文件的长度(以秒为单位)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算 MIDI 文件的时间长度 的相关文章

  • 将过滤器应用于 AS3 中的所有内容

    我正在尝试在 AS3 Flex SDK 中添加过滤器 我可以为任何一个对象添加一个过滤器 但我想将过滤器应用到一切那是某个对象的子对象 假设弹出一个暂停窗口 暂停窗口下方的所有内容都会变得模糊 将过滤器应用于每个单独的对象 例如 迭代列表
  • Flex - 将滚动条的位置更改为 Horizo​​ntalList 组件的顶部

    默认情况下 Horizo ntalList 组件的水平滚动条位于底部 有没有办法重新定位它 使其位于顶部 为了清楚起见 我并不是指使用scrollToIndex或horizo ntalScrollPosition或类似的方法移动滚动位置 而
  • Flash AS3 - 将多个对象拖放到一个目标?

    标题或多或少是不言自明的 我一直在学习许多不同的教程 而且说实话 我对 AS3 不太擅长 上图显示了我的目标 无论如何 我在我看到的大多数在线教程中注意到 拖放教程要么基于一个对象到一个目标 要么基于多个对象到多个目标 所以我想知道是否有人
  • 如何从Flash/AS3找到用户Temp文件夹的路径?

    如何从 Flash AS3 找到用户临时文件夹的路径 例如 C Users lisnil AppData Local Temp 它需要在任何版本的 Windows 上运行 至少是 XP Vista 和 7 您无法通过 Flash 那样访问文
  • 在 Flash AS3 中捕获未处理的 IOErrorEvent

    错误 2044 未处理的 IOErrorEvent text 错误 2036 从不加载 完全的 这就是我每次尝试使用加载器加载不存在的图像时看到的情况 我正在获取 URL 列表 但无法验证它们是否指向任何有用的内容 每当遇到 404 时 它
  • 当给定闪光角度和速度时,计算物体的轨迹

    我正在尝试从大炮中发射炮弹并使其遵循现实的路径 射击角度根据大炮的方向而变化 自动定向到鼠标指针 所以我想弄清楚的是 当给定角度和设定速度时 如何沿着抛物线路径移动炮弹 我读到 这可以在没有复杂的三角学的情况下完成 在高中时从未听过 并且可
  • AS3 中的 Flash 翻页卷曲效果

    我正在开发一个项目 需要使用 Flash 开发翻页 卷曲 效果 如下例所示 http www actionscript org showMovie php id 459http www actionscript org showMovie
  • as3命名空间-获取一个带有减号的属性[重复]

    这个问题在这里已经有答案了 可能的重复 e4x as3 如何访问名称中带有破折号的节点 https stackoverflow com questions 5317404 e4x as3 how to access a node with
  • 在 Actionscript 3 中实现单例模式类的最佳方法是什么?

    由于 AS3 不允许私有构造函数 因此构造单例并保证构造函数不是通过 new 显式创建的唯一方法是传递单个参数并检查它 我听说过两个建议 一个是检查调用者并确保它是静态 getInstance 另一个是在同一包命名空间中拥有一个私有 内部类
  • 检查用户的 Flash 播放器是否具有音频功能。 (功能.hasAudio)

    是否可以检查用户是否有声卡 我找到了 Capability hasAudio 但不知道这是否是我应该查看的值 trace Capabilities hasAudio 指定系统是否具有音频功能 此属性始终true 文档对此并不清楚 但我认为
  • ActionScript 3 中的圆形滑块

    我希望在 ActionScript 中添加一个圆形滑块 非常类似于这一页 http interface eyecon ro demos drag vr html shows 它最终会改变对象的色调 返回 CMY 值 但如果它只是吐出程度 我
  • 调用控制器 Post 方法时遇到问题

    这是我的方法 AcceptVerbs HttpVerbs Post public void SaveImage FormCollection formValues byte contents Convert FromBase64String
  • 在 Mac OS X (Mavericks) 上的 Adob​​e AIR 中的两台显示器上显示两个全屏窗口

    我使用的是 Mac OS X Mavericks 使用 Adob e AIR 我想在两个显示器 内置笔记本电脑视网膜显示器和外部 HDMI 显示器 上分别显示单独的全屏窗口 我可以在主显示器上获得全屏窗口 在辅助显示器上获得几乎全屏的窗口
  • 用圆形减去(遮盖掉?)路径

    我正在使用 Spark Path 在 Flex 中绘制一条路径 我想从这条路径中减去一个圆形 如下图所示 道路又黑又宽 有任何想法吗 我尝试使用 Shape 对象创建蒙版 但无法完全创建其中有圆孔的蒙版 找到了 不涉及口罩 我拿了Path并
  • 更改 AS3 中的 TextField 选择颜色

    如何更改 ActionScript 3 中 TextField 的选择 突出显示 颜色 我有一个输入文本字段 黑色背景上有白色文本 因此 选择是不可见的 这对于可用性来说非常糟糕 谢谢 另一种方法是使用文本布局框架 特别是使用 Select
  • Flex 与 ActionScript

    我正在尝试构建 实现一个 Flash 视频播放器来播放视频 我研究了 Flex 并仅使用 VideoElement 构建了一个基本应用程序 它在没有静态链接库的情况下编译为 41k 在链接库时编译为 300k 我生成了报告 但仍然不确定为什
  • 从 Air Native 扩展返回结构

    是否可以从本机代码返回结构 返回 int 或 boolean 相对简单 但是如何将更复杂的结构返回给动作脚本 您可以返回任何可以在本机代码中表示为 FREObject 的对象 这实际上包括任何 Actionscript 类或 Actions
  • 将日期转换为 UTC 的正确方法

    如果这个问题没有多大意义 我很抱歉 但我是 Actionscript 的新手 并且想知道您是否可以帮助我解决这个问题 我正在构建一个给定时区的应用程序 告诉您该位置的时间 当我使用时区为 GMT UTC 的位置时 它效果很好 但如果主机上的
  • 在 Flash Player 10 中打开 pdf

    我需要在 Flash Player 10 中打开 PDF 该 swf 不会在浏览器中运行 并且系统上不会有 adobe reader 程序 我需要知道是否可以在 Flash 播放器中打开 PDF 而无需以任何方式进行转换 我在谷歌上搜索了无
  • 在没有流媒体服务器的情况下在 Flash 中录制 h.264 视频?

    是否可以在不需要流媒体服务器 如 fms wowza red5 的情况下从 Flash Actionscript 相机 即网络摄像头 保存 h 264 视频 我还想从麦克风获取样本数据 并在客户端对其进行转码 以便用户可以录制 h 264

随机推荐

  • 如何使用 Laravel Tinker 编写新行

    如何使用 Laravel Tinker 换行 所以而不是 users User all foreach users as user echo user gt email 我希望能够写成如下 users User all foreach us
  • QGLWidget 和快速离屏渲染

    是否可以在屏幕外完全渲染QGLWidget使用 Qt 无需将场景重新绘制到屏幕 从而完全避免缓冲区在监视器上翻转 我需要保存帧缓冲区上生成的每一帧 但是 由于序列由 4000 帧组成 并且屏幕上的时间间隔为15ms我花费4000 15ms
  • Django唯一随机作为默认值

    在将某个值指定为默认值时 有什么方法可以检查模型中是否存在该值 如果分配值存在 不唯一 则生成另一个值 阅读评论 def unique rand return Generate a random string with 8 characte
  • 我有两个类型定义,如何确定一个类型是否是另一个的基类型?

    我在 ActionScript 3 中有两个类型定义 Class 类型的引用 我需要确定其中一个是否是另一个的基类型 类或接口 我本来希望像下面这样的东西会起作用 但遗憾的是它没有 var isBaseClass Boolean Mouse
  • 如何从 Golang 访问 C 指针数组

    我正在使用 FFmpeg 为 Windows 平台编写一个应用程序 它是 golang 包装器 goav 但我无法理解如何使用 C 指针来访问数组 我试图获取存储在 AVFormatContext 类中的流以在 go 中使用 并最终将帧添加
  • ToString("0") 与 ToString(CultureInfo.InvariantCulture)

    我想确保我的应用程序中的某些数字在打印时没有任何分隔符 分组等 无论当前环境如何 似乎以下两种方法产生相同的结果 可能还有更多 123456789 ToString 0 123456789 ToString CultureInfo Inva
  • 为什么 Rails 不引发 I18n::MissingInterpolationArgument 异常?

    我创建了一个虚拟 Rails 4 1 5 应用程序来显示 I18ntranslate当未提供要插值的变量时 方法不会引发 I18n MissingInterpolationArgument 仅当提供错误的内容时才会引发该异常 这是预期的行为
  • 从源代码构建 Docker 失败

    从 dotcloud docker git 克隆之后 cd docker sudo make VERBOSE 1 Fetching https net http cookiejar go get 1 https fetch failed u
  • 撤消已推送的合并

    好吧 我弄得有点乱了 显然 在我家里的机器上 开发分支没有更新 我做出了承诺并推动了 结果是实际的 origin develop 分支已合并到我的本地开发分支中 由于某种原因 它被视为不同的分支 一方面 我真的不明白这是怎么发生的 其次 我
  • 通用二叉树节点析构函数问题

    我一直在做一项作业 现在我被有问题的析构函数困住了 我必须创建一个包含所有常用成员函数和一些特殊运算符的通用二叉树 还有一个限制 一切都必须迭代地工作 所以这次没有令人讨厌的递归黑客 BinTreeNode 类的析构函数显然有一些非常错误的
  • Laravel 中 detach() 方法也可以应用于一对多关系吗?

    在 Laravel 文档中 我发现 detach 方法可以分离多对多关系中的所有对象 detach 方法也可以应用于 Laravel 中的一对多关系吗 如果不是 在这种情况下如何分离所有 n 个对象 在多对多关系中 detach 方法仅删除
  • 更改通过文字初始化创建的对象的原型

    假设我只想使用 不是构造函数 我有一个这样的对象 var o name Jack 如果我想创建另一个对象 其原型是o我使用这个语法 var u Object create o console log u name prints Jack u
  • 传递具有可变大小的二维数组

    我正在尝试将二维数组从一个函数传递到另一个函数 然而 数组的大小不是恒定的 尺寸由用户决定 我曾尝试对此进行研究 但运气不佳 大多数代码和解释都是针对数组的恒定大小 在我的函数中A我声明该变量 然后对其进行一些操作 然后必须将其传递给 Fu
  • 如何使用 shell 始终获取下载 tomcat 服务器的最新链接

    我写了一个shell脚本来下载并安装tomcat服务器v 8 5 31 wget http www us apache org dist tomcat tomcat 8 v8 5 31 bin apache tomcat 8 5 31 ta
  • 如何从 f:selectItems 获取标签和值

    我正在开发一个 JSF 页面 该页面有一个基于List
  • 在 hibernate 中使用 where 子句选择查询

    我有班级登录 其中有userId username and password 对于要登录的用户 我正在检查username and password并得到userId If userId不为零则它将引导至主页 我正在尝试在休眠状态下执行此操
  • AWS CodePipeline 并部署到 EKS

    正在开发 AWS CodePipeline 用于构建容器并将其部署到 EKS 集群 AWS CodePipeline 似乎不支持 仅 ECS 对 EKS 的部署操作 我尝试探索其他选项 例如使用 lambda 函数 我找到了以下在 lamb
  • Redmine 和 SVN:如何在提交发生后将修订链接到问题?

    这样我们就成功地将Redmine与SVN集成了 这是一个成熟的集成 已经几个月了 Post commit hook 更新 Redmine 中的存储库 SVN 提交中的评论可以完美地导入到 Redmine 中 它能够在问题和修订 日志时间 整
  • javascript es6 双箭头函数

    我想更好地理解 es6 箭头函数 给出以下示例 export default function applyMiddleware middlewares return createStore gt reducer preloadedState
  • 如何计算 MIDI 文件的时间长度

    我正在使用名为 midas 的有用库的帮助下读取 as3 flash cs5 中的 midi 文件 http code google com p midas3 http code google com p midas3 midi as3 库