使用Lua读取和解析. mid文件



我试图用Lua读取。mid文件,然后将其解析为包含所有注释的表(即{" a ", " b# ", "Cb"等}),但我无法正确读取文件。我用io。打开and file:lines(),但将相同的行写入另一个MIDI文件会导致MIDI文件失效。

是否有更简单的方法来读取和解析一个。mid文件与Lua?

标准的MIDI文件格式是二进制,而不是文本。所以你根本不能指望把它读成"行"。相反,您需要使用read函数来获取字节并检查它们。您最好找到一个用于MIDI文件的C库并将其绑定到Lua。

。MID文件(大概是标准MIDI格式)是二进制文件,而不是文本文件。用file:lines()读取它们是行不通的。你需要用file:read("*a")把整个东西读成一个"字符串"(Lua字符串可以保存任意字节的数据);这将把整个文件读入单个字符串。您还需要确保以二进制模式打开文件(对于不同的平台)。

似乎有一个叫做MIDI的框架。用于解析MIDI数据。不过,我不确定它处理MIDI文件的效果如何。

最新更新