当前位置:首页 > uni-app

uniapp录音组件

2026-03-05 06:47:22uni-app

uniapp录音组件使用指南

uniapp提供了uni.getRecorderManager() API来实现录音功能,适用于H5、小程序和App平台。以下是具体实现方法:

uniapp录音组件

初始化录音管理器

const recorderManager = uni.getRecorderManager();

设置录音参数

const options = {
  duration: 60000, // 录音时长(ms)
  sampleRate: 44100, // 采样率
  numberOfChannels: 1, // 声道数
  encodeBitRate: 192000, // 编码码率
  format: 'mp3', // 音频格式
  frameSize: 50 // 帧大小
};

开始录音

recorderManager.start(options);

停止录音

recorderManager.stop();

监听录音事件

recorderManager.onStart(() => {
  console.log('录音开始');
});

recorderManager.onStop((res) => {
  console.log('录音停止', res.tempFilePath);
  // res.tempFilePath为录音文件临时路径
});

recorderManager.onError((res) => {
  console.log('录音错误', res);
});

上传录音文件

uni.uploadFile({
  url: 'https://example.com/upload',
  filePath: tempFilePath,
  name: 'file',
  success: (res) => {
    console.log('上传成功', res);
  }
});

注意事项

  • 小程序平台需要用户授权麦克风权限
  • App平台需要配置录音权限(Android需修改manifest.json)
  • H5平台需注意浏览器兼容性
  • 录音文件临时路径在小程序平台有效期为本次会话

完整示例代码

export default {
  data() {
    return {
      tempFilePath: '',
      isRecording: false
    }
  },
  methods: {
    startRecord() {
      this.isRecording = true;
      this.recorderManager.start();
    },
    stopRecord() {
      this.isRecording = false;
      this.recorderManager.stop();
    }
  },
  onLoad() {
    this.recorderManager = uni.getRecorderManager();
    this.recorderManager.onStop((res) => {
      this.tempFilePath = res.tempFilePath;
    });
  }
}

以上方法可以实现uniapp中的基本录音功能,可根据实际需求进行调整和扩展。

标签: 组件uniapp
分享给朋友:

相关文章

uniapp面试问啥

uniapp面试问啥

技术基础类问题 UniApp框架特性 跨端实现原理及条件编译的使用场景 如何理解"一次开发,多端运行"的优缺点 rpx与vw/vh单位的适配差异 Vue相关 生命周期在UniA…

uniapp 用法

uniapp 用法

uniapp 基本概念 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持编译到 iOS、Android、H5 及小程序等多端。其核心特点是“一次开发,多端发布”,通过条件编译实现平台差异…

uniapp 搜索

uniapp 搜索

uniapp 搜索功能实现方法 全局搜索组件集成 在pages.json中配置全局搜索栏,适用于所有页面顶部显示搜索框。示例代码: "globalStyle": { "navigationBa…

uniapp $on

uniapp $on

uniapp $on 方法详解 $on 是 UniApp 中用于监听全局事件的 API,常用于跨页面或跨组件通信。它基于 Vue 的事件机制,允许在全局范围内触发和监听自定义事件。 基本语法 uni…

uniapp 摇骰子

uniapp 摇骰子

uniapp 摇骰子实现方法 页面布局 在 pages 目录下创建骰子页面(如 dice.vue),使用 view 和 image 组件构建骰子界面。骰子图片可通过静态资源或网络地址加载。 <…

uniapp布局规范

uniapp布局规范

uniapp布局规范 uniapp的布局规范基于Flexbox模型,支持跨平台开发,需兼顾不同设备的适配性。以下是核心布局要点: Flex布局基础 使用Flexbox实现弹性布局,默认display…