跳到主要内容

认识

2024年02月05日
柏拉文
越努力,越幸运

一、认识


AudioBuffer 接口表示存在内存里的一段短小的音频资源,利用 AudioContext.decodeAudioData() 方法从一个音频文件构建,或者利用 AudioContext.createBuffer() 从原始数据构建。把音频放入 AudioBuffer 后,可以传入到一个 AudioBufferSourceNode 进行播放。

这些类型对象被设计来控制小音频片段,往往短于 45 秒。对于更长的声音,通过 MediaElementAudioSourceNode 来实现更为合适。缓存区(buffer)包含以下数据:不间断的 IEEE754 32 位线性 PCM,从 -11 的范围额定,就是说,32 位的浮点缓存区的每个样本在 -1.01.0 之间。如果 AudioBuffer 有不同的频道,他们通常被保存在独立的缓存区。

二、语法


const audioBuffer = new AudioBuffer([options]);
const audioBuffer = new AudioBuffer(context[, options]);
  • options:

    • length: buffer 中采样帧的长度。

    • numberOfChannels: buffer 的通道数。默认值为 1.

    • sampleRate: buffer: 的采样率 (Hz). 默认值为构造此对象时使用的 context 的采样率。