0

如果我有一个包含标记(或“提示点”)的 WAV 格式的音频文件,有没有办法获取这些标记的数组,最好使用 Web Audio API?

我似乎记得以前看到过这样做的方法,但我似乎找不到它。

任何帮助或建议都会很棒!

4

2 回答 2

2

Web Audio API 不支持解析"cue "WAVE-RIFF 中的标记块 (s),仅支持音频数据本身。

在将文件加载为 ArrayBuffer(与 Web Audio API 本身无关)之后,您必须使用例如类型化数组和DataView手动解析和提取标记块。

给出解决方案有点宽泛,但本文应该能够为您指明正确的方向。

于 2017-12-05T10:59:19.823 回答
1

今天我偶然发现了一个支持检索提示标记的存储库,以及许多其他有用的功能。它非常适合我想要做的事情:

var request = new XMLHttpRequest();
request.open("GET", "file.wav", true);
request.responseType = "arraybuffer";
request.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
        var wave = new WaveFile(new Uint8Array(this.response));
        console.log(wave.listCuePoints()); // Works perfectly
    }
};
request.send();

它可以在浏览器和 Node.js 上运行,这太棒了!

于 2018-10-02T01:05:27.187 回答