jimboy
jimboy
  • 发布:2023-10-27 15:34
  • 更新:2023-11-24 09:59
  • 阅读:553

【报Bug】苹果ios16 app视频全屏无法退出,app变横版无法竖过来

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.95

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: 13 Pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://hoonboo.com/html5/app-versions/default/download?name=com.hoonboo.app

示例代码:
在ios16的手机上打开我的app或者用hbuilderx最新版本编译hello-uniapp 源码安装到ios16的手机上,打开内置组件->多媒体组件->video->播放->全屏  
异常就复现  
<view class="preview-full" v-if="previewVideoSrc!=''">  
            <video id="hoonbooVideo" :autoplay="true" :src="previewVideoSrc" :show-fullscreen-btn="true">  
                <cover-view class="preview-full-close" @click="CloseVideo"> ×  
                </cover-view>  
            </video>  
        </view>  

操作步骤:

打开app 打开底部的案例菜单,点击视频,点击全屏

预期结果:

视频全屏能正常全屏,退出全屏app别变成横屏就可以

实际结果:

苹果ios16的手机,视频全屏就异常,app变成横屏,无法竖过来

bug描述:


以下问题已经使用hello-uniapp案例测试了好几遍,直接下载appstore的hello-uniapp安装到手机查看视频案例没有任何问题,但是下载源码,使用最新版本的编辑器安装到ios16的手机,打开视频,点击全屏按钮,问题就复现,整个app变横屏,视频变竖版成十字形
这个怎么办安卓手机都没有问题,
就是这个ios16上打开app,打开里边随便一个视频,打开全屏后就这样,整个app变横向,没有办法竖过来,只能关闭app,从新打开才能正常,别的ios版本都是正常的
正常逻辑是
打开视频-》全屏视频-》退出全屏,app是竖版是正常的
ios16上的问题
打开视频->全屏视频->视频和屏幕变成+字行,屏幕横向,视频跟屏幕垂直,于是屏幕的返回按钮没有了,没有办法关闭视频了, app也变成横版的了,竖不过来

2023-10-27 15:34 负责人:无 分享
已邀请:
x***@163.com

x***@163.com

11-16号 同样是这样的问题,ios版本16.7.2

楼主这个解决了吗

  • jimboy (作者)

    解决了

    https://uniapp.dcloud.net.cn/component/video.html#play-btn-position-%E7%9A%84%E5%90%88%E6%B3%95%E5%80%BC

    这里边已经有答案

    2023-11-19 09:09

  • jimboy (作者)

    App平台:3.6.14 以及 手机系统 iOS16 以上video全屏 需要配置应用支持横屏: 在 manifest.json 文件内 app-plus 节点下新增 screenOrientation 配置,设置值为["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"]。

    2023-11-19 09:09

  • x***@163.com

    回复 jimboy: 我设置了 也不好使,我是在设置了这个后,又在监听了video 的全屏变化事件

    onFullScreenChange(e) {

    // vertical竖屏 horizontal横屏

    if (e.detail.direction == 'vertical') {

    // 当在全屏退出时,变成竖屏展示=>修复在ios上退出全屏 还是横屏问题

    plus.screen.lockOrientation('portrait-primary')

    }

    },

    问题已经成功解决,希望帮助到有类似问题的

    2023-11-22 10:30

  • swift_dc

    回复 jimboy: 这样配置又有了新问题,如果设置了自动旋转,APP也会自动旋转了,APP要锁死竖屏只能配置一个portrait-primary

    2024-06-18 22:59

jimboy

jimboy (作者)

是昨天发现我这个也是,手机旋转,app跟着变横屏,于是在app.vue 文件里的onlounch里添加跟你一样的

// #ifdef APP-PLUS  
plus.screen.lockOrientation('portrait-primary'); //锁死屏幕方向为竖屏  
// #endif

算是我的问题解决了,但是视频进度条颜色反了,已播放部分的进度条变成灰色,待播放部分的进度条变成白色了。正确应该是已播放是白色,待播放是灰色。不知道怎么弄

  • x***@163.com

    这个播放条的颜色,我倒是没有注意,我这边用户量小,先怼上去功能再说,只能说开发app 坑不少

    2023-12-01 10:11

  • swift_dc

    只能是在竖屏的时候启动APP才有效,如果一开始手机横屏,启动APP,最后APP的样式会以横屏的宽度计算,导致样式异常

    2024-06-18 23:01

要回复问题请先登录注册