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();
			});
		},
相关推荐
today喝咖啡了吗1 小时前
uniapp,Anroid10+版本如何保存图片并删除
uni-app
为风而战2 小时前
uni-app X APP在线升级 解决【uni-upgrade-center-app】未配置uni-upgrade-center 问题
uni-app
雪碧聊技术7 小时前
uniapp如何创建并使用组件?组件通过Props如何进行数据传递?
uni-app·创建组件·使用组件·props数据传递
@Dream_Chaser7 小时前
uniapp页面间通信
uni-app
@Dream_Chaser12 小时前
uniapp ruoyi-app 中使用checkbox 无法选中问题
前端·javascript·uni-app
鱼是一只鱼啊12 小时前
uniapp移动端地图提示鉴权失败请传入正确的key问题处理
uni-app
毛毛三由12 小时前
基于svga+uniapp的微信小程序动画组件开发指南
微信小程序·uni-app·notepad++
雪碧聊技术14 小时前
uniapp简介
uni-app·hbuilder
一只一只妖14 小时前
uniapp小程序无感刷新token
前端·小程序·uni-app
y东施效颦17 小时前
uni-app uni-push 2.0推送图标不展示问题
uni-app·github