我可以从 URL 访问字节数组文件(float32,big endian),我正在尝试将其转换为 WaveSurfer 可处理的东西,这需要有效的 ArrayBuffer、AudioBuffer 或 wav 文件的 URL。
我得到的最接近的方法是使用 fetch 来获取文件,并尝试将其转换为 ArrayBuffer,但是 WaveSurfer 无法识别,这表示它无法解码数据。
这是我的 JavaScript 代码:
let blob = await fetch(url);
let buffer = await blob.arrayBuffer();
this.wavesurfer.loadArrayBuffer(buffer);
我知道我要解码的文件是有效的音频文件,因为我可以使用以下 python 脚本将其转换为 wav 文件:
import numpy as np
from scipy.io.wavfile import write
def main():
a = np.fromfile(filePath, '>f4')
write(outputPath, 16000, a)
关于我能做什么的任何建议?