代码之家  ›  专栏  ›  技术社区  ›  MysteryPancake

使用Web audio API获取音频标记/提示点

  •  0
  • MysteryPancake  · 技术社区  · 8 年前

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

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

    2 回复  |  直到 5 年前
        1
  •  2
  •   user1693593 user1693593    8 年前

    Web Audio API不支持分析标记块( "cue " s) 在WAVE-RIFF中,只有音频数据本身。

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

    给出解决方案有点宽泛,但是 this article 应该能够为你指出正确的方向。

        2
  •  1
  •   MysteryPancake    8 年前

    今天我偶然发现 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();
    

    它可以在浏览器和节点上工作。js,太棒了!

    推荐文章