uni-app 使用video组件的getVideoInfo方法问题

uni-app 使用video组件的getVideoInfo方法问题

开发环境 版本号 项目创建方式
Windows window7 HBuilderX
### 示例代码:


```javascript
uni.chooseVideo({  
    count: 1,  
    sourceType: ['camera'],  
    maxDuration: 10,  
    success: res => {  
        console.log(res)  
        uni.getVideoInfo({  
            src:res.tempFilePath,  
            success: res => {  
                console.log(res)  
            },  
            fail: err => {  
                console.log(err)  
            }  
        })  
        // resolve([res.tempFilePath])  
    },  
    fail:err=>{  
        reject();  
    }  
});

操作步骤:

uni.chooseVideo({  
    count: 1,  
    sourceType: ['camera'],  
    maxDuration: 10,  
    success: res => {  
        console.log(res)  
        uni.getVideoInfo({  
            src:res.tempFilePath,  
            success: res => {  
                console.log(res)  
            },  
            fail: err => {  
                console.log(err)  
            }  
        })  
        // resolve([res.tempFilePath])  
    },  
    fail:err=>{  
        reject();  
    }

预期结果:

1

实际结果:

1

bug描述:

使用getVideoInfo的api时报TypeError: uni.getVideoInfo is not a function; 是在app里使用的; 请问这个是什么问题?


更多关于uni-app 使用video组件的getVideoInfo方法问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

文档里说 uni.getVideoInfo 在 app 端的 3.1.10+ 支持

更多关于uni-app 使用video组件的getVideoInfo方法问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


3.1.2.20210206 我这版本好像支持吧,但是不行

回复 1***@qq.com: 3.1.10+才支持啊,你这个版本肯定不支持啊

回复 1***@qq.com: 最新的正式版是3.1.9,最新的alpha版是3.1.10,你可以用这个最新的alpha试试

回复 雨夜敬清秋: 好的,谢谢大佬 我试试

回复 雨夜敬清秋: 现在最新的正式版本3.1.11.20210423,我更新了,但还是存在这样的问题,是这版本还有这bug吗,但hx更新内容中写着已支持。

回复 1***@qq.com: 那就是bug,写个简单的demo上传,提bug

回复 雨夜敬清秋: 好的

uni.getVideoInfo 是微信小程序平台的API,在uni-app中需要区分平台使用。在App端,应使用 plus.io.getVideoInfo 或通过条件编译处理。

解决方案:

  1. 使用条件编译:
// #ifdef APP-PLUS
plus.io.getVideoInfo({
  filePath: res.tempFilePath,
  success: (result) => {
    console.log('App端视频信息:', result)
  }
})
// #endif

// #ifdef MP-WEIXIN
uni.getVideoInfo({
  src: res.tempFilePath,
  success: (result) => {
    console.log('微信端视频信息:', result)
  }
})
// #endif
  1. 检查HBuilderX基础库版本: 确保使用的是较新版本的HBuilderX,老版本可能不支持部分API。

  2. 替代方案: 在App端可直接通过 res 对象获取视频基础信息:

uni.chooseVideo({
  success: (res) => {
    console.log('视频时长:', res.duration)
    console.log('视频大小:', res.size)
    console.log('视频尺寸:', res.width, res.height)
  }
})
回到顶部