web-audio 播放音频

示例

要使用Web Audio API播放音频,我们需要获取音频数据的ArrayBuffer并将其传递给BufferSource进行播放。

要获得播放声音的音频缓冲区,您需要使用如下AudioContext.decodeAudioData方法:

const audioCtx = new (window.AudioContext || window.webkitAudioContext)();

// 从服务器获取MP3文件

fetch("sound/track.mp3")

    // 将数据作为ArrayBuffer返回

    .then(response => response.arrayBuffer())

    // 解码音频数据

    .then(buffer => audioCtx.decodeAudioData(buffer))

    .then(decodedData => {

        // ...

    });

最终承诺解决后,系统会以的形式为您提供音频AudioBuffer。然后可以将其附加到AudioBufferSourceNode-并播放-,如下所示:

const source = context.createBufferSource();

source.buffer = decodedData; // <==

source.start(...);

Where具有三个参数,分别偏移何时播放样本,偏移样本中从何处播放以及告诉播放样本多长时间。.start()

可在MDN上找到有关如何操作缓冲区源的更多信息。

以上是 web-audio 播放音频 的全部内容, 来源链接: utcz.com/z/321305.html

回到顶部