0

我有一个里面有一个音频斑点的对象。当我在对象上调用 JSON.stringify 时,blob 消失了。如何对对象中的二进制 blob 进行字符串化?

音频 blob 来自sox 元素,在本例中为 mime 类型“audio/wav”。

let blob = this/soxElem.getBlob();
let object = {
  audio: blob,
  name: "hi"
}

console.log(JSON.stringify(object))

控制台显示 {audio:{}, name: "hi"}。斑点不见了。

4

1 回答 1

0

一种方法是转换为 JSON 可以处理的数组:

let ab = await this.soxElem.getBlob().arrayBuffer();
let object = {
  audio: Array.from(new Uint8Array(ab)),
  name: "hi"
}

在接收端(例如使用 Node.js)解码它,如下所示:

let binaryData = Buffer.from(data.audio);
于 2021-05-20T04:53:46.073 回答