【问题标题】:Midi/Binary File Decoding in JavascriptJavascript 中的 Midi/二进制文件解码
【发布时间】:2020-10-06 09:20:05
【问题描述】:

我有一些使用 Axios 返回给客户端的 midi 文件,每当我尝试使用tone.js 解析它们时,都会遇到一些编码问题:

Uncaught (in promise) Bad MIDI file.  Expected 'MTrk', got: '¿½MT'

我尝试使用 FileReader,按照 this post 复制到类型化数组,但无论我做什么,都会遇到同样的错误。

这里是有问题的方法:

static convertMidiToJson(midi: Blob) {
let result = new Midi();

midi.arrayBuffer().then((it) => {
  result = new Midi(it);
});

return result;

}

midi 只是 Axios 调用的结果。数据。

非常感谢任何帮助!

【问题讨论】:

    标签: javascript encoding axios midi


    【解决方案1】:

    我错过了 axios 调用中的 responseType: blob。一旦我添加了它,它就会正确解析:

    return axios
          .get(it.data, {
            responseType: "blob",
          })
          .then((itr) => {
            return new Blob([itr.data], { type: "audio/midi" });
          });
    

    【讨论】:

      猜你喜欢
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      相关资源
      最近更新 更多