uniapp video视频播放横屏/全屏情况下 层级问题

1、问题记录
     视频上有点赞等操作,模拟器上不管是苹果还是安卓都显示正常,真机模拟就没有了,由于本人是苹果手机然后就一直用苹果手机调试,发现真机运行的时候竖屏层级还正常,一旦横屏视频会自动加上一个很大的索引值,如图

然后就把点赞等操作按钮z-index值设置的比视频大就解决了,以为完事了,不料安卓手机不行。。。于是真机运行安卓手机去调试,无奈运行完左侧的wxml又不出现了,我用苹果手机调的时候也是时不时才出现,这搞得也无法抓原因.
2、解决:最后试了半天发现把点赞等操作元素放到video视频里就行了。

最后有哪位大佬可以告诉我,我真机运行的窗口为啥左侧wxml出不了呢?(报错信息就是图片未加载出来,应该不影响吧)

### 实现 UniApp 中视频点击后全屏播放并切换到横屏模式 为了实现在 UniApp 应用中当用户点击视频时能够进入全屏播放并且屏幕方向变为横向,可以采用如下方法: #### 方法概述 通过监听视频组件上的 `click` 或者 `play` 事件来检测用户的操作行为。一旦捕捉到了这些事件,则调用相应的API改变设备的方向至 landscape (即横屏),接着再让视频进入到全屏状态。 对于 Android 设备而言,在某些情况下可能会存在 H5 对于自动播放功能有所限制的情况[^1];因此建议确保是在接收到实际的用户交互之后才执行上述逻辑。 下面给出具体的实现方式以及一段简单的代码示例用于展示这一过程。 #### 示例代码 ```javascript <template> <view class="video-container"> <!-- 使用 video 组件 --> <video id="myVideo" @tap="handleTap"></video> </view> </template> <script> export default { methods: { handleTap() { const videoContext = uni.createVideoContext('myVideo'); // 判断是否支持设置屏幕旋转 if (uni.getSystemInfoSync().platform === 'android') { plus.screen.lockOrientation('landscape'); // 锁定为横屏 } else { // iOS 平台处理 wx.setScreenBrightness({ brightness: 0 }); // 尝试唤醒锁屏接口促使系统响应 setTimeout(() => { wx.setKeepScreenOn({ keepScreenOn: true }); }, 200); } // 请求全屏显示 videoContext.requestFullScreen({ direction: 90, // 设置为顺时针旋转90度达到横屏效果 success(res) { console.log("成功请求全屏", res); }, fail(err) { console.error("失败", err); } }); // 开始播放视频 videoContext.play(); } } } </script> ``` 这段代码展示了如何在一个 Vue 单文件组件内完成所需的功能。这里需要注意的是针对不同平台(Android 和 iOS)采取不同的策略去尝试锁定屏幕方向,并且利用了 `createVideoContext()` 来获取对 `<video>` 元素的操作权限从而控制其进入全屏模式和启动播放。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值