uni-app uni.choosevideo获取不到视频

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app uni.choosevideo获取不到视频

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

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:10

HBuilderX类型:正式

HBuilderX版本号:4.12

手机系统:Android

手机系统版本号:Android 14

手机厂商:OPPO

手机机型:oppo a73t

页面类型:vue

vue版本:vue2

打包方式:云端

项目创建方式:HBuilderX

### 示例代码:

```javascript
uni.chooseVideo({
sourceType: ['camera'],
camera:'front',
success: (res) => {
self.videoSrc = res.tempFilePath
}
});

操作步骤:

录制视频

预期结果:

拿到视频地址

实际结果:

无法拿到

bug描述:

无法获取回调


2 回复

没报错信息吗? 你看下chooseVideo的fail回调里有没有错误信息


在使用uni-app开发过程中,uni.chooseVideo API 用于调用系统相机或相册选择视频文件。如果你遇到 uni.chooseVideo 获取不到视频的问题,这可能是由于多种原因导致的,比如权限问题、API调用方式不正确、或者是前端代码中的其他逻辑错误。下面我将提供一个标准的 uni.chooseVideo 调用示例,并附带一些可能的问题排查方向。

示例代码

// 在页面的 methods 中定义选择视频的函数
methods: {
  chooseVideo() {
    uni.chooseVideo({
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,或者两者都有
      maxDuration: 60, // 最大录制时长,单位秒
      camera: 'back', // 前置或后置摄像头
      success: (res) => {
        console.log('选择视频成功:', res);
        // res.tempFilePath 是视频文件的临时路径
        // 可以根据需求进行后续处理,如上传等
        this.videoPath = res.tempFilePath;
      },
      fail: (err) => {
        console.error('选择视频失败:', err);
      }
    });
  }
}

问题排查方向

  1. 权限检查: 确保在 manifest.json 中已经声明了必要的权限,尤其是相机和相册的访问权限。

    "mp-weixin": {
      "appid": "your-app-id",
      "permission": {
        "scope.userInfo": {
          "desc": "你的位置信息将用于小程序相册和相机功能"
        },
        "scope.userLocation": {
          "desc": "你的位置信息将用于小程序相册和相机功能"
        }
      }
    }
    

    注意:不同平台(如微信小程序、H5、App等)的权限配置可能有所不同,需根据实际情况调整。

  2. API调用环境: 确认 uni.chooseVideo 是在用户交互(如按钮点击)的上下文中被调用的,因为某些平台可能限制非用户触发的事件处理。

  3. 错误处理: 仔细查看 fail 回调中的错误信息,它可能会提供导致调用失败的具体原因。

  4. 版本兼容性: 检查uni-app和底层平台的版本是否支持当前使用的API特性。

  5. 日志输出: 增加更多的日志输出,帮助定位问题发生的具体位置。

通过上述示例代码和问题排查方向,你应该能够定位并解决 uni.chooseVideo 获取不到视频的问题。如果问题依旧存在,建议查看官方文档或社区论坛获取更多帮助。

回到顶部