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();
			});
		},
相关推荐
乔冠宇6 小时前
微信小程序修改个人信息头像(uniapp开发)
微信小程序·小程序·uni-app
一个处女座的程序猿O(∩_∩)O10 小时前
Uniapp 开发中遇到的坑与注意事项:全面指南
uni-app
Elena_Lucky_baby10 小时前
uniapp 网络请求封装(uni.request 与 uView-Plus)
uni-app
黑云压城After14 小时前
uniapp小程序自定义日历(签到、补签功能)
小程序·uni-app
烂蜻蜓14 小时前
Uniapp 设计思路全分享
前端·css·vue.js·uni-app·html
Elena_Lucky_baby14 小时前
uniapp封装请求
uni-app
尚学教辅学习资料15 小时前
基于SpringBoot+Vue+uniapp的高校招聘小程序+LW参考示例
spring boot·uni-app·招聘系统
岑梓铭17 小时前
uniapp邪门事件
uni-app
漫天绯羽18 小时前
uniapp 中使用天地图,安卓端、h5
uni-app
尚学教辅学习资料19 小时前
基于SpringBoot+vue+uniapp的智慧旅游小程序+LW示例参考
vue.js·spring boot·uni-app·旅游