我正在开发一个 createjs 应用程序,该应用程序需要加载 midi 文件作为其功能的一部分。然后我打算使用 midiplayer.js 来播放文件。但是,我找不到任何使用 createjs 加载 midi 文件的示例。似乎我想将它作为二进制文件加载,然后将其作为 ArrayBuffer 输入 midiplayer.js,它可以处理。我被困在如何在 createjs 中读取 BINARY 文件类型。这是我想要做的一些示例代码:
let queue = new createjs.LoadQueue();
queue.on("complete", assets_loaded);
queue.on("fileload", handle_file_load);
queue.loadManifest([
{id: "bach_score", src: "Bach_score.png"},
{id: "football_stage", src:"Football.png"},
{id: '1badbar1s', src: "exampleplayer/e1/1badbar1.mid", type: createjs.Types.BINARY}]);
一切似乎都很顺利。没有错误报告。我可以毫无问题地加载图像文件,如下所示:
let new_image = new createjs.Bitmap(queue.getResult("bach_score));
但是,我找不到如何加载二进制文件的示例。任何帮助表示赞赏。
所以这里有一个更新。看来我需要指定这是二进制类型。(我在上面添加了)。然后这应该调用binaryLoader类并给我我想要的东西。但是,它似乎不起作用。这可能是createjs中的错误吗?
###进一步更新:21 年 4 月 16 日
我挖掘了 createjs 代码并意识到发生了什么。由于我的文件的扩展名是 .mid (一个 midi 文件),soundjs 声称正在处理该文件。列出的扩展之一是 .mid 作为sound.js 的第 363 行的 SUPPORTED_EXTENSION。这检查了浏览器是否支持 MIDI 文件,但都不支持。我必须为此找到解决方法。