更新记录
0.0.1(2025-06-02) 下载此版本
首次提交
平台兼容性
q-tr
开发文档
UTS 语法 UTS API插件 UTS uni-app兼容模式组件 UTS 标准模式组件 Hello UTS
RecorderManager 录音管理器完整使用说明
📖 概述
RecorderManager
是基于 uniapp-x 的 uni.getRecorderManager()
API 封装的录音管理器类,提供了完整的录音功能,包括开始、停止、暂停、继续等操作,以及完善的事件监听和错误处理机制。
✨ 功能特性
- ✅ 完整的录音控制 - 开始、停止、暂停、继续录音
- ✅ 录音状态管理 - 实时状态跟踪和查询
- ✅ 录音时长统计 - 精确的时长计算
- ✅ 事件驱动架构 - 丰富的事件回调机制
- ✅ 录音分片支持 - 实时音频数据回调
- ✅ 录音中断处理 - 系统中断事件监听
- ✅ 完善的错误处理 - 全面的异常捕获
- ✅ TypeScript 支持 - 完整的类型定义
- ✅ 资源自动管理 - 自动清理和销毁
🚀 快速开始
1. 导入录音管理器
import { RecorderManager, RecorderOptions, RecorderState, createRecorderManager } from './RecorderManager.uts'
2. 创建录音管理器实例
// 方式1:直接实例化
const recorder = new RecorderManager()
// 方式2:使用工厂函数(推荐)
const recorder = createRecorderManager()
3. 基础使用示例
// 创建录音管理器
const recorder = createRecorderManager()
// 设置事件监听
recorder.onStart = () => {
console.log('录音开始了!')
uni.showToast({ title: '开始录音', icon: 'none' })
}
recorder.onStop = (result) => {
console.log('录音文件路径:', result.tempFilePath)
console.log('录音时长:', result.duration, '秒')
uni.showToast({ title: '录音完成', icon: 'success' })
}
recorder.onError = (error) => {
console.error('录音错误:', error.errMsg)
uni.showToast({ title: '录音失败', icon: 'error' })
}
// 开始录音(需要先申请权限)
uni.authorize({
scope: 'scope.record',
success: () => {
const options: RecorderOptions = {
duration: 60000, // 最大录音时长1分钟
sampleRate: 16000, // 采样率16kHz
format: 'mp3', // 音频格式
numberOfChannels: 1 // 单声道
}
recorder.start(options)
},
fail: () => {
uni.showToast({ title: '需要录音权限', icon: 'none' })
}
})
// 停止录音
recorder.stop()
// 清理资源
recorder.destroy()
📋 API 参考
主要方法
方法 | 参数 | 返回值 | 说明 |
---|---|---|---|
start | options?: RecorderOptions | void | 开始录音 |
stop | - | void | 停止录音 |
pause | - | void | 暂停录音 |
resume | - | void | 继续录音 |
getState | - | RecorderState | 获取当前状态 |
getRecordingDuration | - | number | 获取录音时长(毫秒) |
isRecording | - | boolean | 是否正在录音 |
isPaused | - | boolean | 是否已暂停 |
isIdle | - | boolean | 是否空闲状态 |
destroy | - | void | 销毁录音管理器 |
⚠️ 注意事项
1. xxx
xxx:
xxx
2. 平台兼容性
- 暂停/继续功能:xxx
3. 资源管理
- 页面销毁时务必调用
destroy()
方法清理资源 - 避免内存泄漏,及时清理定时器和事件监听
4. 音频格式
- App 平台:默认 mp3 格式
- 小程序平台:默认 aac 格式
- 支持的格式:aac、mp3、wav、PCM