【发布时间】:2018-05-19 00:10:34
【问题描述】:
如果我有一个包含标记(或“提示点”)的 WAV 格式的音频文件,有没有办法获取这些标记的数组,最好使用 Web Audio API?
我似乎记得以前看到过这样做的方法,但我似乎找不到它。
任何帮助或建议都会很棒!
【问题讨论】:
标签: javascript audio wav web-audio-api cue-points
如果我有一个包含标记(或“提示点”)的 WAV 格式的音频文件,有没有办法获取这些标记的数组,最好使用 Web Audio API?
我似乎记得以前看到过这样做的方法,但我似乎找不到它。
任何帮助或建议都会很棒!
【问题讨论】:
标签: javascript audio wav web-audio-api cue-points
Web Audio API 不支持解析 WAVE-RIFF 中的标记块 ("cue "s),只支持解析音频数据本身。
在将文件加载为 ArrayBuffer(与 Web Audio API 本身无关)之后,您必须使用例如类型化数组和 DataView 手动解析和提取标记块。
给出解决方案有点宽泛,但this article 应该能够为您指明正确的方向。
【讨论】:
今天我偶然发现了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 上运行,太棒了!
【讨论】: