# @fix-webm-duration/parser 中文文档

规范地址：https://npmcn.com/package/%40fix-webm-duration/parser/

版本：1\.0\.1
npm 元数据更新时间：2024-07-05T14:54:51.993Z
中文译文更新时间：2026-11-14T20:45:47.247Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40fix-webm-duration/parser
原文对照：https://npmcn.com/package/%40fix-webm-duration/parser/?lang=original
项目主页：https://github.com/yusitnikov/fix-webm-duration/tree/master/packages/parser
源码仓库：https://github.com/yusitnikov/fix-webm-duration

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

- 包体积（解压后）：89.7 kB，32 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2024-07-05T13:29:20.714Z
- 最新版本发布：2024-07-05T13:29:21.030Z
- 近 30 天下载量：983747（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 0 个）

## 中文简介

将 Webm 文件分解为单个区域, 编辑这些区域, 并将编辑后区域的文件编译为一起

## 安装

```sh
npm install @fix-webm-duration/parser
```

也可以使用：`pnpm add @fix-webm-duration/parser`、`yarn add @fix-webm-duration/parser`、`bun add @fix-webm-duration/parser`

## README

# @ fix-webm- 期限/ parser

将 Webm 文件分解到单个区域,编辑区域, ,然后从编辑的章节中将文件编译回来.

**警告:这是内部执行软件包,这里的接口随时可以改变!** **请不要在生产代码中直接使用, 只用于在开发时调试 Webm 文件的内容 !**

## 安装

从软件包管理器安装 :

```
npm install @fix-webm-duration/parser
```

## 使用量

### 分析一个小块:

```typescript
import { WebmFile } from "@fix-webm-duration/parser";

const file = await WebmFile.fromBlob(blob);
```

它会回到一个实例 `WebmFile`,这是一棵带ID的树. `WebmFile` 财务报告和审定财务报表 `WebmContainer` 是其他部分的容器, 和所有其他类 webm 节点(`WebmUint`, (中文(简体) ), `WebmFloat`, (中文(简体) ), `WebmString`)是树的最后叶. `WebmBase` 是用于未识别ID的节点的基节点类 (库中webm节点的地图不全,仅是一组需要修补webm持续时间的节点.

### 轨迹节点 :

这个 `data` 解析的字段 `WebmContainer` (或 `WebmFile`对象 包含儿童节点列表(可以是叶片或其他部分).

使用 `getSectionById` 通过身份识别直接获得儿童部分的方法,例如.

```typescript
const segmentSection: WebmContainer | null = file.getSectionById(0x8538067);
```

可在 [段落.ts 文件](https://npmcn.com/package/%40fix-webm-duration/parser/src/lib/sections.ts)。 。 。 .

### 修改节点

使用 `setValue` 用于修改节点值的方法,例如:.

```typescript
const durationSection = infoSection.getSectionById(0x489);
if (!durationSection) throw new Error("Duration section not found");
durationSection.setValue(60000);
```

访问常规数组方法 `data` 字段可以添加或去除某个段落的子节点,例如.

```typescript
const durationSection = new WebmFloat("Duration");
durationSection.setValue(duration);
infoSection.data!.push({
    id: 0x489,
    data: durationSection,
});
```

### 将修改后的文件编译回 blob

打电话 `updateByData` 所有修改的方法 `WebmContainer` 财务报告和审定财务报表 `WebmFile` 对象的倒序, 即从最有巢结的节点开始,以 `WebmFile` 对象.

打电话 `toBlob` 文件将解析后的文件转换为 blob 的方法. 如果不是默认的话, 将 MIME 类型传给它, 例如 . `file.toBlob("audio/webm")`。 。 。 .

## 常见问题

### @fix-webm-duration/parser 是什么？

将 Webm 文件分解为单个区域, 编辑这些区域, 并将编辑后区域的文件编译为一起

### 如何安装 @fix-webm-duration/parser？

在项目目录运行 npm install @fix-webm-duration/parser，或使用 pnpm add / yarn add / bun add。

### @fix-webm-duration/parser 支持 TypeScript 吗？

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

### @fix-webm-duration/parser 支持 ESM 还是 CommonJS？

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

### @fix-webm-duration/parser 可以商用吗？

@fix-webm-duration/parser 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fix-webm-duration/parser 的下载量有多少？

根据 npm 官方下载统计，@fix-webm-duration/parser 在 2026/10/15 – 2026/11/13 这 30 天内被下载 983,747 次，日均约 32,792 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fix-webm-duration/parser 还在维护吗？

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

