@ capgo/ 电容- audio- recorder
在iOS,Android和网络上用一个Capacitor API记录麦克风的音频. 暂停,恢复,读取输入关卡,并保存完成后的剪辑.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-audio-recorder在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-audio-recorder到我的Capacitor app上并把它接上。" 代理设置指南 • 妇女 主机磁共振
主要特点
- 记录数字 :
startRecording(), (中文(简体) ),stopRecording()财务报告和审定财务报表cancelRecording()抓取或丢弃剪辑. - 暂停并恢复数字 :
pauseRecording()财务报告和审定财务报表resumeRecording()不启动新文件. - 输入级别数字 :
getCurrentAmplitude()返回米数和波形的麦克风级别. - 状况和活动数字 :
getRecordingStatus()加号recordingPaused, (中文(简体) ),recordingStopped, (中文(简体) ),recordingError,和(仅iOS)recordingInterruptionBegan编号 :recordingInterruptionEnded听众. - 权限数字 :
checkPermissions()财务报告和审定财务报表requestPermissions()麦克风进入. - 平台:iOS,Android和Web. iOS使用AVFoundation,Android 使用
MediaRecorder,并web使用浏览器记录器.
为什么是录音机?
唯一一个 免费 财务报告和审定财务报表 最新数据 capacitor 的音频录音插件 :
- 相同的 Java 脚本 API - 与付费插件兼容的接口
- 完整特性集 - 暂停/恢复、可配置比特率、抽样率
- 跨平台 - iOS、Android和Web支持
- 现代执行 - 使用最新的平台API
- 活动听众 - 实时记录状态和错误处理
适合语音备忘录应用,音频通讯,播客录音,以及任何需要音频捕获的应用.
文档
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
| 页: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-recorder` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-audio-recorder
npx cap sync
背景记录
插件不会自动将您的应用程序放入一个背景安全模式, 您需要配置每个平台, 这样程序就可以在屏幕被锁定时继续运行 .
-
iOS系统: 启用 背景模式 — 音频 xcode中的能力(或添加)
UIBackgroundModes带有audio输入Info.plist) (中文(简体) ). 有了这面旗帜,startRecording将会在设备被锁定时继续,因为插件已经使用了AVAudioSession类别,用于支持背景抓取. -
机器人:只要应用过程保持活性,记录就继续. 长达一小时的会话,您应该将录音工作转移到一个前台服务,同时不断通知,以防止操作系统停止进程. 添加所需的权限, 例如 :
<!-- android/app/src/main/AndroidManifest.xml --> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" /> <uses-permission android:name="android.permission.WAKE_LOCK" />然后在打电话前启动一个前景服务
startRecording(或触发该服务内部的录音). 插件本身不为您创建服务, 因此您可以使用您首选的前景服务执行或背景任务帮助插件在录制UI的同时启动/停止它.
API 密码
startRecording(...)pauseRecording()resumeRecording()stopRecording()cancelRecording()resetAudioSessionForPlayback()getRecordingStatus()getCurrentAmplitude()checkPermissions()requestPermissions()addListener('recordingError', ...)addListener('recordingPaused', ...)addListener('recordingStopped', ...)addListener('recordingInterruptionBegan', ...)addListener('recordingInterruptionEnded', ...)removeAllListeners()getPluginVersion()- 接口
- 类型异名
- 数字
录音音频的电容插件合同.
开始记录(...)
startRecording(options?: StartRecordingOptions | undefined) => Promise<void>
开始使用设备麦克风录音音频.
| 参数 | 类型 | 说明 |
|---|---|---|
options | StartRecordingOptions | 记录配置选项 . |
自: 1.0.0 (单位:千美元)
暂停记录( C)
pauseRecording() => Promise<void>
暂停持续录制 仅在Android(API 24+),iOS,和Web上提供.
自: 1.0.0 (单位:千美元)
恢复记录( C)
resumeRecording() => Promise<void>
恢复先前暂停的录音 .
自: 1.0.0 (单位:千美元)
停止记录( C)
stopRecording() => Promise<StopRecordingResult>
停止当前录制并坚持录制音频.
回返情况: Promise<StopRecordingResult>
自: 1.0.0 (单位:千美元)
取消记录( C)
cancelRecording() => Promise<void>
取消当前录音并丢弃任何被捕获的音频 .
自: 1.0.0 (单位:千美元)
重置供弹出的会议( )
resetAudioSessionForPlayback() => Promise<void>
重置 iOS 音频会话至 .playback 用于正常播放量
在同一应用程序中录入的音频(例如通过 HTML 音频)
页:1 Android和Web上没有.
自: 8.2.10 联合国
获取记录状态 ()
getRecordingStatus() => Promise<GetRecordingStatusResult>
获取当前记录状态 .
回返情况: Promise<GetRecordingStatusResult>
自: 1.0.0 (单位:千美元)
获取当前图像( C)
getCurrentAmplitude() => Promise<GetCurrentAmplitudeResult>
获取当前输入振幅( 麦克风 级) 为正态
数字 [0, 1] 范围.
用于驱动 VU 仪表或波形等现场可视化
在录音时 回返 0 当没有录音时。 设计用途
UI率投票——60-100毫秒的间隔是一个良好的起点
变形了 避免用紧接的回路调用; 每一次调用都会穿过
联合来文/内部桥梁.
回返情况: Promise<GetCurrentAmplitudeResult>
自: 8.1.0 联合国
检查( )
checkPermissions() => Promise<PermissionStatus>
返回当前访问麦克风的权限状态 .
回返情况: Promise<PermissionStatus>
自: 1.0.0 (单位:千美元)
请求( )
requestPermissions() => Promise<PermissionStatus>
请求访问麦克风.
回返情况: Promise<PermissionStatus>
自: 1.0.0 (单位:千美元)
添加倾听器( 正在记录错误,...)
addListener(eventName: 'recordingError', listenerFunc: (event: RecordingErrorEvent) => void) => Promise<PluginListenerHandle>
听记录错误.
| 参数 | 类型 |
|---|---|
eventName | 'recordingError' |
listenerFunc | (event: RecordingErrorEvent) => void |
回返情况: Promise<PluginListenerHandle>
自: 1.0.0 (单位:千美元)
添加收听器( “ 已录音“ )...)
addListener(eventName: 'recordingPaused', listenerFunc: () => void) => Promise<PluginListenerHandle>
录音暂停时, 请听暂停事件 .
| 参数 | 类型 |
|---|---|
eventName | 'recordingPaused' |
listenerFunc | () => void |
回返情况: Promise<PluginListenerHandle>
自: 1.0.0 (单位:千美元)
添加倾听器( “ 记录已停止 ” ,...)
addListener(eventName: 'recordingStopped', listenerFunc: (event: RecordingStoppedEvent) => void) => Promise<PluginListenerHandle>
听记录完成事件.
| 参数 | 类型 |
|---|---|
eventName | 'recordingStopped' |
listenerFunc | (event: StopRecordingResult) => void |
回返情况: Promise<PluginListenerHandle>
自: 1.0.0 (单位:千美元)
添加倾听器( “ 记录中断开始” ,...)
addListener(eventName: 'recordingInterruptionBegan', listenerFunc: () => void) => Promise<PluginListenerHandle>
录音时聆听音频会话中断的开始 .
仅在系统暂停或归档活动记录时在iOS上放出 (例如当电话开始).
| 参数 | 类型 |
|---|---|
eventName | 'recordingInterruptionBegan' |
listenerFunc | () => void |
回返情况: Promise<PluginListenerHandle>
自: 8.2.0 (中文(简体) )
添加倾听器( 正在记录中断结束,...)
addListener(eventName: 'recordingInterruptionEnded', listenerFunc: (event: RecordingInterruptionEndedEvent) => void) => Promise<PluginListenerHandle>
录音时聆听音频会话中断的结束 .
只在iOS上发布. 通常跟随 recordingInterruptionBegan但也许
在录音机故障后发射,但事前没有开始
shouldResume 设置为 false。 。 。 .
| 参数 | 类型 |
|---|---|
eventName | 'recordingInterruptionEnded' |
listenerFunc | (event: RecordingInterruptionEndedEvent) => void |
回返情况: Promise<PluginListenerHandle>
自: 8.2.0 (中文(简体) )
删除所有收听器( )
removeAllListeners() => Promise<void>
删除所有已注册的听众 .
自: 1.0.0 (单位:千美元)
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取本地 Capacitor 插件版本 .
回返情况: Promise<{ version: string; }>
自: 1.0.0 (单位:千美元)
接口
开始记录选项
由 QQlink CapacitorAudioRecorderPlugin. start Recording} 接受的选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
audioSessionCategoryOptions | AudioSessionCategoryOption[] | 用于录音的音频会话分类选项 。 仅在iOS上可用. | 1.0.0 (单位:千美元) |
audioSessionMode | AudioSessionMode | 录音的音频会话模式 。 仅在iOS上可用. | 1.0.0 (单位:千美元) |
bitRate | number | 音频比特率以每秒字节表示 。 仅在Android和iOS上提供. | 1.0.0 (单位:千美元) |
sampleRate | number | Hz的音频样本率. 仅在Android和iOS上提供. | 1.0.0 (单位:千美元) |
resetToPlaybackOnStop | boolean | 何时 true,重新设置 iOS AVAudioSession 类别改为 .playback 当录音停止或取消时。 这样可以避免静悄悄地对刚刚录制的文件进行回放,而会话仍然被配置为 .playAndRecord。只在iOS上提供. | 8.2.10 联合国 |
停止记录 结果
由QQlink Capacitor Audio RecordPlugin.stop Recording}返回结果 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
blob | Blob | 录音的音频是Blob。 仅在Web上提供. | 1.0.0 (单位:千美元) |
duration | number | 以毫秒计的录音持续时间. | 1.0.0 (单位:千美元) |
uri | string | URI指向所记录的文件. 仅在Android和iOS上提供. | 1.0.0 (单位:千美元) |
获取记录状态
由QQlink CapacitorAudioRecorderPlugin.getRecording Status}返回结果 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
status | RecordingStatus | 目前录音状态. | 1.0.0 (单位:千美元) |
获取当前扩展结果
由QQlink Capacitor AudioRecorderPlugin.getCurrentAmpliude}返回的结果 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
value | number | 当前输入振幅正常化为 [0, 1] 范围,在 0 代表沉默和 1 代表平台可报告的最大关卡。 值为 0 当没有录音时。 注:各平台的源信号不同——Android报告自上个呼叫以来的峰值样本振幅,iOS报告dB中的平均功率转换为线性,Web报告最新帧的RMS. 需要跨平台平价的消费者可能想应用每个平台的缩放曲线. | 8.1.0 联合国 |
权限状态
授权信息由 QQlink CapacitorAudioRecordPlugin 返回. check Permissions} (原始内容存档于2018-09-21) (英语). Capacitor AudioRecordPlugin. RequestPermissions).
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
recordAudio | PermissionState | 录音的权限状态 . | 1.0.0 (单位:千美元) |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
记录错误事件
记录中发生错误时发生事件.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
message | string | 错误信息 . | 1.0.0 (单位:千美元) |
uri | string | 错误发生时最近保存的部分的 URI 。 (原始内容存档于2018-03-21). Econduct on iOS. 该部分可能是部分性的。 当尚未保存段时, 可能是一个空字符串 . | 8.2.0 (中文(简体) ) |
记录中断事件结束
当音频会话中断在 iOS 上结束时( 例如在电话之后) , 事件会释放 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
shouldResume | boolean | 插件中断后是否恢复记录 . | 8.2.0 (中文(简体) ) |
类型异名
权限状态
'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'
记录已停止
记录完成后,事件即告发.
数字
音响类选项
| 成员 | 数值 |
|---|---|
AllowAirPlay | 'ALLOW_AIR_PLAY' |
AllowBluetooth | 'ALLOW_BLUETOOTH' |
AllowBluetoothA2DP | 'ALLOW_BLUETOOTH_A2DP' |
DefaultToSpeaker | 'DEFAULT_TO_SPEAKER' |
DuckOthers | 'DUCK_OTHERS' |
InterruptSpokenAudioAndMixWithOthers | 'INTERRUPT_SPOKEN_AUDIO_AND_MIX_WITH_OTHERS' |
MixWithOthers | 'MIX_WITH_OTHERS' |
OverrideMutedMicrophoneInterruption | 'OVERRIDE_MUTED_MICROPHONE_INTERRUPTION' |
音频会议模式
| 成员 | 数值 |
|---|---|
Default | 'DEFAULT' |
GameChat | 'GAME_CHAT' |
Measurement | 'MEASUREMENT' |
SpokenAudio | 'SPOKEN_AUDIO' |
VideoChat | 'VIDEO_CHAT' |
VideoRecording | 'VIDEO_RECORDING' |
VoiceChat | 'VOICE_CHAT' |
记录状态
| 成员 | 数值 |
|---|---|
Inactive | 'INACTIVE' |
Recording | 'RECORDING' |
Paused | 'PAUSED' |
信贷
此插件灵感来自 : https://github.com/kesha-antonov/ react-native-background-downloader (中文(简体) )