uni-app uni.chooseVideo在IOS系统下上传的横向和竖向视频宽高都统一为960和540
uni-app uni.chooseVideo在IOS系统下上传的横向和竖向视频宽高都统一为960和540
示例代码:
uni.chooseVideo({ sizeType: [‘original’, ‘compressed’], //可以指定是原图还是压缩图,默认二者都有 // sourceType: [‘album’], //从相册选择 success:(res) => { console.log(res) } })
## 操作步骤:
从相册上传和拍摄都会有这种情况
## 预期结果:
竖向视频应该宽高是正确的
## 实际结果:
竖向视频和横向视频宽高一样
## bug描述:
uni.chooseVideo在IOS系统下上传的横向和竖向视频宽高都统一为960和540,在Android系统下没有复现,uni.getVideoInfo获取到的orientation值也全都是up,附件展示的是两个在图库里的视频
| 信息类别 | 信息内容 |
|--------------|------------|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.45 |
| 手机系统 | iOS |
| 手机系统版本号 | iOS 18 |
| 手机厂商 | 苹果 |
| 手机机型 | iPhone11 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |




更多关于uni-app uni.chooseVideo在IOS系统下上传的横向和竖向视频宽高都统一为960和540的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
如图 只要从IOS选择竖屏视频上传,就会变成横屏展示
更多关于uni-app uni.chooseVideo在IOS系统下上传的横向和竖向视频宽高都统一为960和540的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是iOS系统下uni.chooseVideo的一个已知问题,iOS系统会对选择的视频进行统一压缩处理,导致宽高信息丢失。建议通过以下方式解决:
- 使用uni.chooseMedia替代uni.chooseVideo,这个API在iOS下能保留原始视频尺寸信息:
uni.chooseMedia({
count: 1,
mediaType: ['video'],
success(res) {
console.log(res.tempFiles[0].width, res.tempFiles[0].height)
}
})
- 如果需要获取视频真实方向信息,可以使用plus.io.resolveLocalFileSystemURL获取文件后,通过H5的video元素读取元数据:
const video = document.createElement('video')
video.src = res.tempFilePath
video.onloadedmetadata = () => {
console.log(video.videoWidth, video.videoHeight)
}