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
文档里说 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 或通过条件编译处理。
解决方案:
- 使用条件编译:
// #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
-
检查HBuilderX基础库版本: 确保使用的是较新版本的HBuilderX,老版本可能不支持部分API。
-
替代方案: 在App端可直接通过
res对象获取视频基础信息:
uni.chooseVideo({
success: (res) => {
console.log('视频时长:', res.duration)
console.log('视频大小:', res.size)
console.log('视频尺寸:', res.width, res.height)
}
})

