标题真的说明了一切。如果我有一个包含标记(或“提示点”)的WAV格式的音频文件,是否有办法获取这些标记的数组,最好使用Web Audio API?
我似乎记得以前看过一种方法,但我似乎无法找到它。
任何帮助或建议都会很棒!
答案 0 :(得分:2)
Web Audio API不支持在WAVE-RIFF中解析标记块("cue "
s),仅支持音频数据本身。
在将文件加载为ArrayBuffer(与Web Audio API本身无关)后,您必须使用例如类型化数组和DataView手动解析和提取标记块。
提供解决方案有点宽泛,但this article应该能指出正确的方向。
答案 1 :(得分:0)
今天,我偶然发现了a repository which supports the retrieval of cue markers以及大量其他有用的功能。它非常适合我想做的事情:
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上运行,这太棒了!