# 0\.1\.0-alpha\.14 中文文档

规范地址：https://npmcn.com/package/0.1.0-alpha.14/

版本：0\.1\.0
npm 元数据更新时间：2026-05-29T05:46:58.671Z
中文译文更新时间：2026-10-31T09:59:16.554Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/0.1.0-alpha.14
原文对照：https://npmcn.com/package/0.1.0-alpha.14/?lang=original

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

- 包体积（解压后）：379 kB，198 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：@livekit/react-native ^2\.10\.1，@livekit/react-native-webrtc ^144\.0\.0
- 首次发布：2026-05-29T05:46:58.095Z
- 最新版本发布：2026-05-29T05:46:58.431Z
- 已发布版本数：1（近 12 个月 1 个）

## 中文简介

Vroom Core SDK-与平台无关的RTC抽象层

## 安装

```sh
npm install 0.1.0-alpha.14
```

也可以使用：`pnpm add 0.1.0-alpha.14`、`yarn add 0.1.0-alpha.14`、`bun add 0.1.0-alpha.14`

## README

# Vroom客户端JS

与平台无关的核心SDK，用于构建实时通信体验。

## 功能

-   **简单的API** -初始化一次，连接到房间与一个单一的呼叫
-   **自动令牌交换** -SDK自动处理身份验证
-   **类型安全的** -完整的TypeScript支持
-   **生产准备** -自动重新连接和错误处理内置

## 安装

```bash
npm install @vroom/client-js
```

### React Native

WebRTC全局变量在内部自动初始化 `Vroom.connect()` -无需手动填充设置。

对于RN特定的助手 (例如， `RTCView` 要渲染远程视频，请使用专用子路径：

```typescript
import { RTCView, MediaStream } from '@vroom/client-js/react-native'
```

#### 所需的对等依赖关系

```bash
npm install @livekit/react-native @livekit/react-native-webrtc
```

然后在iOS上运行 `pod install`.

## 快速入门

```typescript
import { Vroom, SessionEvent } from '@vroom/client-js'

// 1. Initialize (once at app startup)
await Vroom.init({ apiKey: 'your-api-key' })

// 2. Connect to room
const session = await Vroom.connect({
  roomName: 'meeting-123',
  user: { id: 'user-1', displayName: 'Alice', role: 'host' },
  type: 'group',
  media: { audio: true, video: true },
  eventHandlers: {
    [SessionEvent.ParticipantJoined]: ({ participant }) => {
      console.log(`${participant.displayName} joined`)
    },
    [SessionEvent.TrackAdded]: ({ track }) => {
      if (track.mediaStreamTrack) {
        videoElement.srcObject = new MediaStream([track.mediaStreamTrack])
      }
    }
  }
})

// 3. Control media
session.disableMic()
session.enableCamera()

// 4. Disconnect
await session.disconnect()
```

## API参考

### 发呜呜声

| 方法 | 描述 |
| --- | --- |
| `init(config)` | 使用API密钥初始化SDK |
| `connect(params)` | 连接到房间 |
| `reset()` | 重置SDK状态 |

### 会话

| 方法 | 描述 |
| --- | --- |
| `enableMic()` / `disableMic()` | 切换麦克风 |
| `enableCamera()` / `disableCamera()` | 切换摄像头 |
| `switchDevice(options)` | 切换音频/视频输入或输出设备 |
| `getActiveDevice(kind)` | 获取当前活动的设备ID |
| `getParticipants()` | 获取所有参与者 |
| `room` | 房间信息(`name`， `sid`， `createdAt`)-连接不可变 |
| `disconnect()` | 从房间断开 |
| `on(event, handler)` | 添加事件侦听器 |

### 事件

| 事件 | 描述 |
| --- | --- |
| `SessionEvent.Connected` | 连接到房间 |
| `SessionEvent.Disconnected` | 从房间断开 |
| `SessionEvent.ParticipantJoined` | 参与者加入 |
| `SessionEvent.ParticipantLeft` | 参与者离开 |
| `SessionEvent.TrackAdded` | 已发布曲目 |
| `SessionEvent.TrackRemoved` | 跟踪未发表的 |
| `SessionEvent.Error` | 发生错误 |

## 错误处理

```typescript
try {
  await Vroom.connect({ ... })
} catch (error) {
  if (error.code === 'E_INVALID_API_KEY') {
    // Handle invalid API key
  }
}
```

## 贡献

看到 [CONTRIBUTING.md](https://npmcn.com/package/0.1.0-alpha.14/CONTRIBUTING.md).

## 许可证

麻省理工学院

## 常见问题

### 0\.1\.0-alpha\.14 是什么？

Vroom Core SDK-与平台无关的RTC抽象层

### 如何安装 0\.1\.0-alpha\.14？

在项目目录运行 npm install 0\.1\.0-alpha\.14，或使用 pnpm add / yarn add / bun add。

### 0\.1\.0-alpha\.14 支持 TypeScript 吗？

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

### 0\.1\.0-alpha\.14 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### 0\.1\.0-alpha\.14 可以商用吗？

0\.1\.0-alpha\.14 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### 0\.1\.0-alpha\.14 还在维护吗？

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

