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();
			});
		},
相关推荐
夏碧笔1 天前
uni-app跨端地图实战:用第三方LBS替代微信平台收费服务
uni-app
用户6990304848756 天前
try catch使用场景 处理同步代码错误兼容用的
javascript·uni-app
ITKEY_6 天前
uniapp微信开发者工具 更改AppID失败 touristappid
uni-app
Geek_Vison6 天前
APP瘦身实战:从80MB+砍到15MB——基于小程序容器技术剥离APP非核心业务的实践分享
小程序·uni-app·mpaas
CHB7 天前
HDC2026 演讲实录|AI 驱动的跨端进化:利用 uni-agent 快速构建高性能鸿蒙应用
uni-app·harmonyos
2501_915918417 天前
iOS App性能测试工具的实现方法与优化循环指南
android·ios·小程序·https·uni-app·iphone·webview
斯内普吖7 天前
(开源)高校素拓分管理系统小程序实战指南 基于 Java + SpringBoot + uni-app + Vue + MySQL
java·spring boot·mysql·小程序·uni-app·开源
海阔天空66887 天前
uniapp开启调试模式
uni-app·uniapp开启调试模式
anyup8 天前
分享 5 套 uni-app 实用主题,一键适配暗黑模式
前端·uni-app·视觉设计
gg159357284608 天前
Uni-app跨平台开发全解课程:从零基础到企业级多端落地实战
vue.js·uni-app