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