作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 MediaRecorder
API 创建的音频文件/blob:
let recorder = new MediaRecorder(this.stream)
let data = [];
recorder.ondataavailable = event => data.push(event.data);
然后当录音完成后:
let superBlob = new Blob(data, { type: "video/webm" });
如何使用此 blob 创建 AudioBuffer
?我需要:
Blob
对象转换为 ArrayBuffer
,我可以将其与 AudioContext.decodeAudioData
一起使用(返回一个 AudioBuffer
)或Blob
对象转换为 Float32Array
,我可以使用 AudioBuffer.copyToChannel() 将其复制到 AudioBuffer
中
任何有关如何实现这一目标的提示都将受到赞赏。干杯!
最佳答案
要将 Blob
对象转换为 ArrayBuffer
,请使用 FileReader.readAsArrayBuffer
。
let fileReader = new FileReader();
let arrayBuffer;
fileReader.onloadend = () => {
arrayBuffer = fileReader.result;
}
fileReader.readAsArrayBuffer(superBlob);
关于blob - 如何从 Blob 创建 AudioBuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40363335/
我是一名优秀的程序员,十分优秀!