- 调用 videoContext.requestFullScreen() 进入全屏
- 使用 dom.getComponentRect() 获取video大小
- 根据video的大小,动态改变视频播放控件
- 发布:2021-01-12 11:20
- 更新:2021-01-12 20:09
- 阅读:1181
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.0.5
手机系统: Android
手机系统版本号: Android 10
手机厂商: 小米
手机机型: 红米K30
页面类型: nvue
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
返回正确的dom信息
返回正确的dom信息
实际结果:
返回了错误的dom信息
返回了错误的dom信息
bug描述:
- 第一个是video“非全屏”下,用dom.getComponentRect()获取到的信息,这时候没有问题;
- 第二个是video“全屏”下,用dom.getComponentRect()获取到的信息,这时候返回的 width=911px。因为将安全区域全部取消了,所以这时候video铺满了整个屏幕,播放控件都是自己根据屏幕宽度算的,但是问题来了,自己写的播放进度条的宽度就多了一截到容器外;
- 最下面有个小图,是通过uni.getSystemInfo()得到的数据,再跟用dom模块得到的数据一比较,前提是uni是正确的,那么dom明显返回的911px大了不少 (这些你们都可以自己用K30输出试试的,目前我们就发现这个机型有问题)
攻城狮已经疯了 (作者)
不好意思,现已经补充了video底部的界面代码,和演示视频。js就不用弄上来了,很简单的获取dom信息,然后计算赋值,视频上这个问题目前我们只发现在“红米K30 5G”上出现,其它的全面屏手机未出现。
2021-01-13 14:48
攻城狮已经疯了 (作者)
获取dom数据就跟我放出来那个草稿图,全屏后的 911px 这个值不对劲。
2021-01-13 14:50
攻城狮已经疯了 (作者)
你好,把几种一起汇总了一下,已经上传demo代码,公司测试机有限,这个问题目前只有“红米K30”是有问题的。
2021-01-18 17:36
DCloud_UNI_Anne
回复 攻城狮已经疯了: 用hello uni-app视频示例,是否存在圆点超出问题?
2021-01-19 17:41
攻城狮已经疯了 (作者)
回复 DCloud_UNI_Anne: 官方示例不存在问题。但是示例的video是用的默认控制组件,我们这个是自己写的,全屏后又必须获取屏幕宽度。因为nvue不能用百分比%……
2021-01-19 17:45
攻城狮已经疯了 (作者)
回复 DCloud_UNI_Anne: 还有,我们也只是在K30这个手机上遇到,其它机型是正确的耶。
2021-01-19 17:48