@capgo/capacitor-audio-session

中文文档
8.1.8发布于 2026/11/09MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 4.3万

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

中文使用文档
文档目录16 节
  1. *免费开始*
  2. 主要特点
  3. 为什么要录音机?
  4. 文档
  5. 兼容性
  6. 安装
  7. API 密码
  8. 当前输出( )
  9. 覆盖输出(...)
  10. 添加倾听器( “ 路由更改 ” ,...)
  11. 添加倾听器( “ 中断 ” ,...)
  12. 获取 PluginVersion ()
  13. 接口
  14. 类型异名
  15. 数字
  16. 许可证

@ capgo/ 电容- 插件- audiosession

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

Capgo - Build Capacitor apps with AI, ship updates instantly

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

*免费开始*

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

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

@capgo/capacitor-audio-session for Capacitor apps

主要特点

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

这个插件只在iOS上工作.

此插件为 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

兼容性

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

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

安装

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

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

然后使用下列提示:

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

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

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

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

API 密码

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

当前输出( )

currentOutputs() => Promise<AudioSessionPorts[]>

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

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

回返情况: Promise<AudioSessionPorts[]>


覆盖输出(...)

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

覆盖当前音频输出路径 .

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

参数类型说明
typeOutputOverrideType想要的输出覆盖类型 .

回返情况: Promise<OverrideResult>


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

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

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

参数类型说明
eventName'routeChanged'路由更改事件名称 .
listenerFuncRouteChangeListener以路由更改理由引用回调 .

回返情况: Promise<PluginListenerHandle>


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

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

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

参数类型说明
eventName'interruption'中断事件名称 .
listenerFuncInterruptionListener以中断类型引用回调 .

回返情况: Promise<PluginListenerHandle>


获取 PluginVersion ()

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

获取本地 Capacitor 插件版本

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


接口

插件听筒

Prop类型
remove() => Promise<void>

类型异名

覆盖结果

输出超过请求的结果 .

{ success: boolean; message: string; }

输出覆盖Type

输出覆盖类型 .

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

'default' | 'speaker'

路由改变收听器

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

(reason: RouteChangeReasons): void

中断 听众

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

(type: 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 共发布 79 个版本,首次发布于 2025/08/21;过去 12 个月发布了 66 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.1.8latest2026/11/09今天
8.1.72026/11/026 天前
8.1.62026/10/2613 天前
8.1.52026/10/1920 天前
8.1.42026/10/1525 天前
8.1.32026/10/1327 天前

关于 @capgo/capacitor-audio-session 的常见问题

@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 和提交记录判断。