必须用 uni.getRecorderManager + 手势容错控制:touchstart 启动录音并加 100ms 延迟校验,touchmove/touchcancel 提前 stop,isRecording 状态严格保护,onStop/onError 重置状态,tempFilePath 按平台处理并校验文件大小。uni-app 里怎么实现按住说话的录音 UI直接用 uni.startRecord 不行——它不支持“按住开始、松开停止”的交互逻辑,而且 iOS 上已废弃,Android 行为也不一致。必须换方案:用 uni.getRecorderManager + 手势事件手动控制。为什么不能只靠 touchstart / touchend 绑定录音开关真机上容易触发失败:微信小程序基础库对 touchstart 的响应有延迟或拦截(尤其在 scroll-view 或 swiper 内),松手时 touchend 还可能丢失(比如手指滑出按钮区域)。得加容错。用 touchstart 启动录音,但立刻启动一个 setTimeout 延迟 100ms 检查是否仍在按压用 touchmove 监听拖出范围,提前调用 recorder.stop()必须监听 touchcancel —— 微信里弹窗、切后台都会触发它,否则录音会卡死在后台recorder.start() 报错 “fail recorder is running” 怎么办这是最常踩的坑:没做状态保护。同一个 recorder 实例不能重复 start(),也不能在未 stop() 就再次 start()。iOS 尤其敏感。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐