# AudioBuffer

> 基础库 2.19.0 开始支持，低版本需做[兼容处理](1003706)。

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

## 属性

### number sampleRate

存储在缓存区的PCM数据的采样率（单位为sample/s)

### number length

返回存储在缓存区的PCM数据的采样帧率

### number duration

返回存储在缓存区的PCM数据的时长（单位为秒）

### number numberOfChannels

储存在缓存区的PCM数据的通道数

## 方法

### [Float32Array AudioBuffer.getChannelData(number channel)](/miniprogram/dev/api/media/audio/AudioBuffer/AudioBuffer.getChannelData)

返回一个 Float32Array，包含了带有频道的PCM数据，由频道参数定义（有0代表第一个频道）

### [AudioBuffer.copyFromChannel()](/miniprogram/dev/api/media/audio/AudioBuffer/AudioBuffer.copyFromChannel)

从AudioBuffer的指定频道复制到数组终端。

### [AudioBuffer.copyToChannel(Float32Array source, number channelNumber, number startInChannel)](/miniprogram/dev/api/media/audio/AudioBuffer/AudioBuffer.copyToChannel)

从指定数组复制样本到audioBuffer的特定通道
