uni-app 使用uni.chooseVideo设置maxDuration视频时长不对 三个月了什么时候能解决

uni-app 使用uni.chooseVideo设置maxDuration视频时长不对 三个月了什么时候能解决

开发环境 版本号 项目创建方式
Mac 12.2 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Mac

PC开发环境操作系统版本号:12.2 (21D49)

HBuilderX类型:正式

HBuilderX版本号:3.3.13

手机系统:iOS

手机系统版本号:iOS 15

手机厂商:苹果

手机机型:iPhone Xs

页面类型:vue

vue版本:vue2

打包方式:云端

项目创建方式:HBuilderX

### 示例代码:

```javascript
uni.chooseVideo({  
  sourceType: ['camera'],  
  maxDuration:15,  
  success: (res)=> {  
    console.log('res.duration=',res.duration)  
  }  
});

操作步骤:

uni.chooseVideo({  
  sourceType: ['camera'],  
  maxDuration:15,  
  success: (res)=> {  
    console.log('res.duration=',res.duration)  
  }  
});

预期结果:

uni.chooseVideo({  
  sourceType: ['camera'],  
  maxDuration:15,  
  success: (res)=> {  
    console.log('res.duration=',res.duration)  
  }  
});
res.duration的结果为15

实际结果:

uni.chooseVideo({  
  sourceType: ['camera'],  
  maxDuration:15,  
  success: (res)=> {  
    console.log('res.duration=',res.duration)  
  }  
});
res.duration的结果为16

bug描述:

使用

uni.chooseVideo({  
  sourceType: ['camera'],  
  maxDuration:15,  
  success: (res)=> {  
    console.log('res.duration=',res.duration)  
  }  
});

上传视频并指定视频时间为15秒后,获取的res.duration却是16

4 回复

问题复现,已反馈给相关人员排查,已加分,感谢您的反馈!


uni app上传视频怎么支持超过1分钟以上的视频

什么时候能解决啊,都三个月了

uni.chooseVideo 是 uni-app 中用于选择视频的 API,其中 maxDuration 参数用于设置允许选择的视频的最大时长。如果你在使用 uni.chooseVideo 时发现 maxDuration 参数设置无效,可能是以下原因导致的:

1. 平台兼容性问题

  • uni.chooseVideomaxDuration 参数在不同平台上的表现可能不一致。例如,在微信小程序中,maxDuration 参数可能受到微信小程序自身的限制或实现方式的影响。
  • 如果问题出现在特定的平台上(如微信小程序、H5、App等),建议检查该平台的文档或社区,了解是否有已知的兼容性问题。

2. uni-app 版本问题

  • 确保你使用的是最新版本的 uni-app。旧版本可能存在一些已知的 bug 或兼容性问题,这些问题可能在新版本中已经修复。
  • 更新 uni-app 后,重新编译并测试你的项目,看看问题是否解决。

3. 代码实现问题

  • 检查你的代码实现,确保 maxDuration 参数设置正确。例如:
    uni.chooseVideo({
      sourceType: ['album', 'camera'],
      maxDuration: 30, // 设置最大时长为30秒
      success: (res) => {
        console.log(res);
      },
      fail: (err) => {
        console.error(err);
      }
    });
  • 确保 maxDuration 参数的值是有效的数字,并且符合预期。

4. 平台限制

  • 某些平台可能对 maxDuration 参数有额外的限制。例如,微信小程序可能对视频时长有特定的限制,或者在某些设备上无法完全控制视频时长。
  • 如果问题出现在特定平台上,建议查阅该平台的文档,了解其限制。

5. 反馈与支持

  • 如果你确认问题不是由代码或平台限制引起的,并且 uni-app 官方尚未修复该问题,建议通过 uni-app 官方渠道反馈问题。你可以通过以下方式反馈:
    • GitHub Issues:在 uni-app 的 GitHub 仓库中提交 issue,详细描述问题并提供复现步骤。
    • 官方论坛:在 uni-app 官方论坛中发帖,寻求帮助或反馈问题。
    • 技术支持:如果你是企业用户,可以通过 uni-app 官方提供的技术支持渠道寻求帮助。

6. 临时解决方案

  • 如果 maxDuration 参数无法正常工作,你可以考虑在视频选择成功后,通过 uni.getVideoInfo 获取视频的时长,然后手动判断是否超过最大时长,并进行相应的处理。例如:
    uni.chooseVideo({
      sourceType: ['album', 'camera'],
      success: (res) => {
        uni.getVideoInfo({
          src: res.tempFilePath,
          success: (info) => {
            if (info.duration > 30) {
              console.log('视频时长超过30秒');
            } else {
              console.log('视频时长符合要求');
            }
          }
        });
      }
    });
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!