# @capgo/capacitor-audio-session 中文文档

规范地址：https://npmcn.com/package/%40capgo/capacitor-audio-session/

版本：8\.1\.8
npm 元数据更新时间：2026-11-09T07:40:23.862Z
中文译文更新时间：2026-11-09T03:44:02.597Z
软件包许可：MPL-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40capgo/capacitor-audio-session
原文对照：https://npmcn.com/package/%40capgo/capacitor-audio-session/?lang=original
项目主页：https://capgo.app/docs/plugins/audiosession/
源码仓库：https://github.com/Cap-go/capacitor-audiosession

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

- 包体积（解压后）：79.1 kB，26 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2025-08-21T14:09:08.226Z
- 最新版本发布：2026-11-09T07:40:23.562Z
- 近 30 天下载量：43430（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：79（近 12 个月 66 个）

## 中文简介

这个电容插件允许iOS应用程序获得关于中断路由更改的通知音频(例如当一个耳机被连接时),同时也可以查询和覆盖正在使用的音频设备.

## 安装

```sh
npm install @capgo/capacitor-audio-session
```

也可以使用：`pnpm add @capgo/capacitor-audio-session`、`yarn add @capgo/capacitor-audio-session`、`bun add @capgo/capacitor-audio-session`

## README

# @ capgo/ 电容- 插件- audiosession

了解音频被中断或iOS上输出路由改变时,例如耳机被插入时,并切换到扬声器上输出. 保持呼叫,语音和媒体应用控制声音.

[![Capgo - Build Capacitor apps with AI, ship updates instantly](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-audiosession)](https://capgo.app/?ref=plugin_audiosession)

**队长**:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

## [\*免费开始\*](https://capgo.app/register/?ref=plugin_audiosession)

14天无限自由审判. 不需要信用卡

> 🤖 **建筑与AI编码代理?** 安装 [Capgo 技能](https://capgo.app/skills/?ref=plugin_audiosession) 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 `@capgo/capacitor-audio-session` 在您的电容应用程序中: `npx skills add Cap-go/capgo-skills`。然后问你的经纪人: _添加@capgo/capor-audio-session到我的Capacitor应用上并把它接上_ [代理设置指南](https://capgo.app/agents/?ref=plugin_audiosession) • 妇女 [主机磁共振](https://capgo.app/docs/ai/mcp/?ref=plugin_audiosession)

![@capgo/capacitor-audio-session for Capacitor apps](https://raw.githubusercontent.com/Cap-go/capacitor-audiosession/main/assets/github-social-preview.png)

## 主要特点

-   **当前路线**数字 : `currentOutputs()` 返回活动音频输出.
-   **覆盖输出**数字 : `overrideOutput()` 强制扬声器或返回默认路径.
-   **路由变化**页:1 `routeChanged` 当耳机或其他设备连接或断开时,事件会起火.
-   **中断**页:1 `interruption` 当一个电话或另一个应用程序中断音频时,事件会起火.
-   **平台**: iOS. iOS仅限. 安卓和网络都是根茎.

**这个插件只在iOS上工作.**

此插件为 [https://github.com/saghul/cordova-plugin-audioroute 页面存档备份,存于互联网档案馆](https://github.com/saghul/cordova-plugin-audioroute) 并允许iOS应用程序获得关于音频会话中断和路由变化的通知(例如当一个耳机连接时). 为了查询和推翻正在使用的音频设备,还支持这样做.

## 为什么要录音机?

唯一一个 **免费** 财务报告和审定财务报表 **维持** capacitor 的 iOS 音频会话插件 :

-   **音频路由控制** - 探测和管理耳机、蓝牙、扬声器
-   **中断处理** - 回应电话、警报和其他中断
-   **输出覆盖** - 强制音频发言或恢复默认路由
-   **相同的 Java 脚本 API** - 与付费替代品兼容的接口
-   **iOS 专用软件** - 深入iOS集成的AVAudio会议

VoIP应用软件,音乐播放器,播客应用软件,以及任何需要精确音频路由控制的应用软件都是必不可少的.

## 文档

这里有最完整的医生: [https://capgo.app/docs/plugins/audiosession/ 互联网档案馆的存檔,存档日期2013-12-02](https://capgo.app/docs/plugins/audiosession/)

## 兼容性

| 插件版本 | 电容兼容性 | 维护 |
| --- | --- | --- |
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |

> **说明:** 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

## 安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

```bash
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
```

然后使用下列提示:

```text
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-audio-session` plugin in my project.
```

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capgo/capacitor-plugin-audiosession
npx cap sync
```

目前这个插件只在Capacitor 4.0+工作.

## API 密码

-   [`currentOutputs()`](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-currentoutputs)
-   [`overrideOutput(...)`](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-overrideoutput)
-   [`addListener('routeChanged', ...)`](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-addlistenerroutechanged-)
-   [`addListener('interruption', ...)`](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-addlistenerinterruption-)
-   [`getPluginVersion()`](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-getpluginversion)
-   [接口](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-type-aliases)
-   [数字](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-enums)

仅用于查询和控制音频会话输出并监听的 iOS 插件 路由更改和中断.

### 当前输出( )

```typescript
currentOutputs() => Promise<AudioSessionPorts[]>
```

获取当前活动音频输出路径 .

在网络和非iOS平台上,此解析为空数组.

**回返情况:** `Promise<AudioSessionPorts[]>`

* * *

### 覆盖输出(...)

```typescript
overrideOutput(type: OutputOverrideType) => Promise<OverrideResult>
```

覆盖当前音频输出路径 .

使用 `speaker` 通过内置扬声器强制播放,或 `default` 以恢复系统选择的路径.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`type`** | `[OutputOverrideType](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-outputoverridetype)` | 想要的输出覆盖类型 . |

**回返情况:** `Promise<[OverrideResult](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-overrideresult)>`

* * *

### 添加倾听器( “ 路由更改 ” ,...)

```typescript
addListener(eventName: 'routeChanged', listenerFunc: RouteChangeListener) => Promise<PluginListenerHandle>
```

听听音频路由更改(例如耳机连接/断接).

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`eventName`** | `'routeChanged'` | 路由更改事件名称 . |
| **`listenerFunc`** | `[RouteChangeListener](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-routechangelistener)` | 以路由更改理由引用回调 . |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-pluginlistenerhandle)>`

* * *

### 添加倾听器( “ 中断 ” ,...)

```typescript
addListener(eventName: 'interruption', listenerFunc: InterruptionListener) => Promise<PluginListenerHandle>
```

听听音频会话中断(如接通电话)及其结束.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`eventName`** | `'interruption'` | 中断事件名称 . |
| **`listenerFunc`** | `[InterruptionListener](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-interruptionlistener)` | 以中断类型引用回调 . |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-pluginlistenerhandle)>`

* * *

### 获取 PluginVersion ()

```typescript
getPluginVersion() => Promise<{ version: string; }>
```

获取本地 Capacitor 插件版本

**回返情况:** `Promise<{ version: string; }>`

* * *

### 接口

#### 插件听筒

| Prop | 类型 |
| --- | --- |
| **`remove`** | `() => Promise<void>` |

### 类型异名

#### 覆盖结果

输出超过请求的结果 .

`{ success: boolean; message: string; }`

#### 输出覆盖Type

输出覆盖类型 .

-   `default`:使用系统选择的路由.
-   `speaker`:通过内置扬声器强制回放.

`'default' | 'speaker'`

#### 路由改变收听器

听者在音频路由改变时打电话来.

`(reason: [RouteChangeReasons](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-routechangereasons)): void`

#### 中断 听众

听者在音频会话中断或结束时打电话.

`(type: [InterruptionTypes](https://npmcn.com/package/%40capgo/capacitor-audio-session/#readme-interruptiontypes)): void`

### 数字

#### 音频会议端口

| 成员 | 数值 |
| --- | --- |
| **`AIR_PLAY`** | `'airplay'` |
| **`BLUETOOTH_LE`** | `'bluetooth-le'` |
| **`BLUETOOTH_HFP`** | `'bluetooth-hfp'` |
| **`BLUETOOTH_A2DP`** | `'bluetooth-a2dp'` |
| **`BUILT_IN_SPEAKER`** | `'builtin-speaker'` |
| **`BUILT_IN_RECEIVER`** | `'builtin-receiver'` |
| **`HDMI`** | `'hdmi'` |
| **`HEADPHONES`** | `'headphones'` |
| **`LINE_OUT`** | `'line-out'` |

#### 路由变化

| 成员 | 数值 |
| --- | --- |
| **`NEW_DEVICE_AVAILABLE`** | `'new-device-available'` |
| **`OLD_DEVICE_UNAVAILABLE`** | `'old-device-unavailable'` |
| **`CATEGORY_CHANGE`** | `'category-change'` |
| **`OVERRIDE`** | `'override'` |
| **`WAKE_FROM_SLEEP`** | `'wake-from-sleep'` |
| **`NO_SUITABLE_ROUTE_FOR_CATEGORY`** | `'no-suitable-route-for-category'` |
| **`ROUTE_CONFIGURATION_CHANGE`** | `'route-config-change'` |
| **`UNKNOWN`** | `'unknown'` |

#### 中断类型

| 成员 | 数值 |
| --- | --- |
| **`BEGAN`** | `'began'` |
| **`ENDED`** | `'ended'` |

## 许可证

麻省理工学院

## 常见问题

### @capgo/capacitor-audio-session 是什么？

这个电容插件允许iOS应用程序获得关于中断路由更改的通知音频\(例如当一个耳机被连接时\),同时也可以查询和覆盖正在使用的音频设备\.

### 如何安装 @capgo/capacitor-audio-session？

在项目目录运行 npm install @capgo/capacitor-audio-session，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capgo/capacitor-audio-session 支持 TypeScript 吗？

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

### @capgo/capacitor-audio-session 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capgo/capacitor-audio-session 可以商用吗？

@capgo/capacitor-audio-session 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/capacitor-audio-session 的下载量有多少？

根据 npm 官方下载统计，@capgo/capacitor-audio-session 在 2026/10/09 – 2026/11/07 这 30 天内被下载 43,430 次，日均约 1,448 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capgo/capacitor-audio-session 还在维护吗？

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

