video层级过高,以及界面使用多个video时,在安卓APP上同时播放的问题(uniapp)

文章讲述了在uni-app中遇到的video层级过高遮挡导航栏和自定义菜单的问题,以及在安卓设备上处理多个video同时播放的解决方案。通过使用cover-view替换view来调整video层级,利用subNVues创建原生子窗体解决弹出层被覆盖问题,并通过uni.createVideoContext控制每个视频的播放状态,实现安卓上多视频播放的管理。
摘要由CSDN通过智能技术生成

1、video层级过高的问题

问题一: 我的界面由于是自定义导航栏,所以使用video时,上滑界面video会直在最上层,盖着  头部导航栏

解决方法:使用cover-view,自定义头部使用cover-view替换view

问题二:自定义导航栏上面有menu,点击会出现一个弹出层,但是弹出层会被video压到

解决方法:使用原生窗体subNVues(uni-app subNVue 原生子窗体开发指南 - DCloud问答),原生窗体在第一次打包的时候可能会显示问题,打包的时候注意一下就行。详细的以上链接有说明

2、循环使用多个video时,安卓手机同时播放的问题

使用uni.createVideoContext,具体方法:

<video 
:src="item.src" 
:data-id="item.id" 
:id="item.id" 
class="item-video" 
:poster="item.src+'?x-oss-process=video/snapshot,t_0,f_jpg'" 
show-fullscreen-btn="false" 
object-fit="cover" 
@play="playing">
</video>
        playing(e) {
            // 获取当前视频id
            let currentId = e.currentTarget.dataset.id
            console.log(currentId);
            // uni.createVideoContext获取视频上下文对象
            this.videoContent = uni.createVideoContext(currentId)
            // 获取json对象并遍历, 停止非当前视频
            //operationList为video循环列表
            let operationList = this.operationList
            for (let i = 0; i < operationList.length; i++) {
              let temp = operationList[i].id
              if (temp !== currentId) {
                uni.createVideoContext(temp).pause()
              }
            }
          },

以上就可以解决安卓手机上,多视频播放的问题啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值