# @ennuicastr/webrtcaec3\.js 中文文档

规范地址：https://npmcn.com/package/%40ennuicastr/webrtcaec3.js/

版本：0\.3\.0
npm 元数据更新时间：2024-01-02T03:00:48.198Z
中文译文更新时间：2026-11-13T17:46:08.632Z
软件包许可：BSD-3-Clause

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40ennuicastr/webrtcaec3.js
原文对照：https://npmcn.com/package/%40ennuicastr/webrtcaec3.js/?lang=original
项目主页：https://github.com/ennuicastr/webrtcaec3.js#readme
源码仓库：https://github.com/ennuicastr/webrtcaec3.js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：789 kB，8 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-12-27T21:46:07.530Z
- 最新版本发布：2024-01-02T03:00:48.014Z
- 近 30 天下载量：34641（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

WebRTC的AEC3(声回声取消器, 第3版)端口库到WebAssembly/JavaScript

## 安装

```sh
npm install @ennuicastr/webrtcaec3.js
```

也可以使用：`pnpm add @ennuicastr/webrtcaec3.js`、`yarn add @ennuicastr/webrtcaec3.js`、`bun add @ennuicastr/webrtcaec3.js`

## README

这是WebRTC的 AEC3(声回声取消. 3) 的端口库 WebAssembly 和 JavaScript, 这样可以执行回声取消任意 而不是相信任何回声取消 `getUserMedia` 联合国 来.

由此衍生出来的Google WebRTC 执行程序在3 Clause 下 BSD 许可证,因此这个库的编译版本属于同一范围 执照 此库本身提供的少量胶质代码下方 所谓“0-clause BSD许可证”并不要求归属. 此外,WebRTC使用的图书馆组件也属于Apache 2许可.

# API 密码

包含 `webrtcaec3.js`,或导入或要求将该库作为模块。 一旦 库已装入, `WebRtcAec3` 函数返回对一个 `WebRtcAec3` 模块实例。 与一个 `WebRtcAec3` 模块实例 `AEC3`, (中文(简体) ), `AEC3.AEC3` 是 AEC3 实例的构建器,使用三个参数: 样本率,以及渲染(输出)和捕获的通道数 (输入)溪流相分出. AEC3 库本身是同步的,所以如果你 需要同步, 在 WebWorker 中使用 .

综合起来:

```js
const AEC3 = await WebRtcAec3();
const aec = new AEC3(sampleRate, outputChannels, inputChannels);
```

请注意,并非所有抽样率都会奏效。 事实上,大多数不会。 基本上,使用 `48000`。 。 。 .

AEC3实例揭示出三种方法: `analyze`, (中文(简体) ), `processSize`,以及 `process`启用 `analyze` 用于分析渲染(输出)数据:

```js
aec.analyze(outputData /* Float32Array[] */);
```

使用 `process` 用于处理捕获(输入)数据,取消回声。 它存着 将数据处理成输出缓冲器,您必须提供。 你用得着 `processSize` 以获得输出缓冲器每个通道的必要大小.

```js
const bufSz = aec.processSize(inputData);
const outBuf = [new Float32Array(bufSz)]; // one per channel
aec.process(outBuf, inputData /* Float32Array[] */);
... do something with outBuf ...
```

`analyze`, (中文(简体) ), `processSize`,以及 `process` 每个选择都使用可选“选项” 参数,特别是输入数据的样本率。 如果 输入数据的样本率与样本率不符 AEC3 实例已经创建,将重新被复制 .

关于每种方法的进一步文献,见类型文件.

## 常见问题

### @ennuicastr/webrtcaec3\.js 是什么？

WebRTC的AEC3\(声回声取消器, 第3版\)端口库到WebAssembly/JavaScript

### 如何安装 @ennuicastr/webrtcaec3\.js？

在项目目录运行 npm install @ennuicastr/webrtcaec3\.js，或使用 pnpm add / yarn add / bun add。

### @ennuicastr/webrtcaec3\.js 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @ennuicastr/webrtcaec3\.js 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @ennuicastr/webrtcaec3\.js 可以商用吗？

@ennuicastr/webrtcaec3\.js 使用 BSD-3-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括，不构成法律意见，请以许可原文为准。

### @ennuicastr/webrtcaec3\.js 的下载量有多少？

根据 npm 官方下载统计，@ennuicastr/webrtcaec3\.js 在 2026/10/14 – 2026/11/12 这 30 天内被下载 34,641 次，日均约 1,155 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @ennuicastr/webrtcaec3\.js 还在维护吗？

最新版本 0\.3\.0 发布于 2024/01/02（2 年前）；至今共发布 6 个版本，其中过去 12 个月发布了 0 个；首次发布于 2023/12/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

