@audio/ encode-wav (英语)
将PCM音频样本编码为WAV格式.
纯JS——没有WASM,没有本土的绑定,在节点和浏览器中都起作用.
import wav from '@audio/encode-wav';
const encoder = await wav({ sampleRate: 44100 });
encoder.encode(channelData); // buffer PCM
const buffer = encoder.flush(); // → complete WAV file as Uint8Array
选项
| 选项 | 默认 | 说明 |
|---|---|---|
sampleRate | —— 说 | 抽样率(所需) |
bitDepth | 16 | 16 (PCM英寸)或 32 (IEEE浮出水面) |
流线
const encoder = await wav({ sampleRate: 44100, bitDepth: 16 });
encoder.encode(chunk1); // buffer chunk
encoder.encode(chunk2); // buffer chunk
const file = encoder.flush(); // → Uint8Array (complete WAV)
encoder.free();
输入是 Float32Array[] – 每个通道有一个阵列. 通道自动互出.
流程输出
stream: true: 标题与第一批样本,大小 0xFFFFFFFF (读到结尾)和JUNK块预留 ds64元数据块meta, (中文(简体) ), markers, (中文(简体) ), regions内在地. 之后 flush(), (中文(简体) ), head() 返回确切的标题, RF64 past 4 GB(EBU Tech 3306),在文件开始时写入。 与 frames (确切的长度,已知的前面) 标题出准确的和 head() 没有什么可补充的.
