uniapp录像时长
设置录像时长的方法
在UniApp中,使用uni.chooseVideo或uni.chooseMediaAPI可以实现录像功能。通过配置参数可以限制录像时长。

使用uni.chooseVideo时,通过maxDuration参数设置最大时长(单位:秒):

uni.chooseVideo({
sourceType: ['camera'],
maxDuration: 30, // 限制最长30秒
success(res) {
console.log(res.tempFilePath);
}
});
使用chooseMedia的配置
HBuilderX 3.1.0+版本推荐使用uni.chooseMedia:
uni.chooseMedia({
count: 1,
mediaType: ['video'],
sourceType: ['camera'],
maxDuration: 60, // 限制最长60秒
success(res) {
console.log(res.tempFiles[0].tempFilePath);
}
});
平台差异说明
- 微信小程序:maxDuration最大值支持60秒,部分安卓机型可能无法精确控制
- App端:实际支持的时长取决于设备硬件能力,可能超过设定值
- H5端:依赖浏览器实现,部分浏览器不支持时长限制
自定义录制界面方案
如需更精确控制,可使用原生插件或自定义组件:
- 对于App端,可封装
<video>标签配合MediaRecorder API - 小程序端可使用
<camera>组件配合录制按钮 - 通过定时器实现倒计时提示:
let recorder; const startRecord = () => { recorder = setInterval(() => { // 更新UI显示剩余时间 }, 1000); }
注意事项
- 实际录制时长可能因设备存储空间不足而提前终止
- iOS系统对连续录制有内存限制,建议分段录制
- 部分Android机型需要显式声明相机权限






