uniapp 的uni.getRecorderManager() 录音功能小记

官网上明确说的是全局唯一并且只是获取对象,所以会导致一个问题就是,当你多个页面要用到这个对象的时候,会发现 onStop 方法会被覆盖,导致调用结果不是自己想要的

解决办法也简单粗暴,在需要用到的界面重新覆盖onStop 方法就好,我是放在了 onShow 方法里

javascript 复制代码
		onShow() {
			this.recorderManager = uni.getRecorderManager();
			//监听录音开始事件
			this.recorderManager.onStart(() => {
				console.log('录音开始');
				this.isRecording = true;
				this.startvoice = true;
				// 开启定时器来记录录音时长
				this.timer = setInterval(() => {
					if (this.recordTime >= 30) {
						// 如果达到30秒,停止录音
						this.stopRecord();
					} else {
						this.recordTime++;
					}
				}, 1000);
			});
			//监听录音结束事件
			this.recorderManager.onStop((res) => {
				console.log('录音结束', res);
				this.isRecording = false;
				this.startvoice = false;
				clearInterval(this.timer);
				this.recordTime = 0;
				this.audioFilePath = res.tempFilePath;
				this.uploadAudioFile();
			});
		},
相关推荐
小离a_a21 分钟前
uniapp tabBar 中设置“custom“: true 在H5和app中无效解决办法
前端·uni-app
Jiaberrr13 小时前
uniapp app 端获取陀螺仪数据的实现攻略
前端·javascript·vue.js·uni-app·陀螺仪
小妖6661 天前
uni-app 引入vconsole web端正常,安卓端报错 Cannot read property ‘sendBeacon‘ of undefined
android·前端·uni-app
源码宝1 天前
ERP进销存系统源码,SaaS模式多租户ERP管理系统,SpringBoot、Vue、UniAPP技术框架
vue.js·spring boot·uni-app·源代码管理·erp·erp系统·进销存
七七小报1 天前
uniapp-商城-43-shop 后台管理 页面
uni-app
牧杉-惊蛰1 天前
uniapp 震动功能实现
uni-app
yrldjsbk2 天前
uniapp开发09-设置一个tabbar底部导航栏且配置icon图标
前端·uni-app
假客套2 天前
2025 后端自学UNIAPP【项目实战:旅游项目】1、创建项目框架
uni-app·旅游
济南壹软网络科技-专注源码开发数十年!2 天前
盲盒源码_盲盒系统_盲盒定制开发 盲盒搭建前端教程
开发语言·前端·uni-app·php
象骑士Hack2 天前
Uni-app小程序 hello world示例
小程序·uni-app