更新记录

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

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问