uni-app ios端 video组件全屏播放问题:横屏固定,无法根据视频宽高比自动切换横屏或竖屏
uni-app ios端 video组件全屏播放问题:横屏固定,无法根据视频宽高比自动切换横屏或竖屏
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 64 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:3.1.7
手机系统:iOS
手机系统版本号:iOS 12.4
手机厂商:苹果
手机机型:iphone5s
页面类型:vue
打包方式:云端
示例代码:
测试视频:http://mediaminnanyu.oss-cn-shenzhen.aliyuncs.com/up/20210326/1616726016338wC6jS.mp4
操作步骤:
如图
预期结果:
ios端 video组件 应该跟安卓端对齐,全屏时应该根据视频宽高比自动横屏或竖屏,或者提供获取视频宽高比的api啊
实际结果:
如图
bug描述:
ios端 video组件 全屏都是横屏播放,无法根据视频宽高比自动横屏或者竖屏
更多关于uni-app ios端 video组件全屏播放问题:横屏固定,无法根据视频宽高比自动切换横屏或竖屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html
8 回复
Android端全屏也是横屏啊
更多关于uni-app ios端 video组件全屏播放问题:横屏固定,无法根据视频宽高比自动切换横屏或竖屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html
全屏不应该是横屏吗?
回复 DCMarvel: 回错了 我要回他呢 基本市面上所有的视频软件 无论是横屏竖屏 点击了全屏按钮 都是横屏
回复 天生DR: 嗯,有direction 0他可能不知道
安卓端不都是横屏啊,会根据视频宽高比改变的,至少小米手机是这样的
全屏不应该是横屏吗?
在uni-app中,iOS端的video组件全屏播放时确实存在横屏固定的问题,这与系统底层实现有关。iOS的默认全屏行为会强制横屏,而Android则支持根据视频宽高比自动切换方向。
目前uni-app的video组件未直接提供自动横竖屏切换的配置选项。你可以尝试以下方法:
-
使用
plus.screen.lockOrientation接口手动控制屏幕方向:// 获取视频宽高比后动态设置 const video = this.$refs.video; video.addEventListener('loadedmetadata', function() { const ratio = video.videoWidth / video.videoHeight; if (ratio > 1) { plus.screen.lockOrientation('landscape'); } else { plus.screen.lockOrientation('portrait'); } }); -
通过条件编译区分平台处理:
// #ifdef APP-PLUS if (uni.getSystemInfoSync().platform === 'ios') { // iOS特定处理 } // #endif


