videoContext.requestFullScreen无法调起全屏

1、小程序首页有一个点击唤起video视频全屏播放的一个操作,我原先是在子组件里面写的

html

 <video 
    @fullscreenchange="leaveVideo"     
    :src="video_src" 
    controls 
    autoplay 
    id="marathonVideoId"     
    class="viedo_inner"
    :show-fullscreen-btn="false" 
    :direction="0" 
    loop>
 </video>

js处理

const video_src = ref<string>('');
// 视频调起全屏处理
const openRedeem = (src: string) => {
  console.log(src);
  const videoContext = uni.createVideoContext('marathonVideoId', this);
  video_src.value = src;
  videoContext.requestFullScreen();
  const timer = setTimeout(() => {
    videoContext.play();
    clearTimeout(timer);
  }, 500);

};

// 视频进入或退出全屏时调用
const leaveVideo = (e: any) => {
  console.log(e);
  const videoContext = uni.createVideoContext('marathonVideoId', this);
  if (!e.detail.fullScreen) {
    videoContext.pause();
  }
};

我在微信开发者工具上编译,效果:视频没有调起但是后台有视频的声音,另外我调用的@fullscreenchange函数在微信开发者后台也没有打印日志

然后我把子组件的代码全部移至到首页写,就轻轻松松调起来了。(目前还是不知道为什么移动到首页就可以实现)

2、在之前也用过video实现全屏操作,有好几个页面是需要点击调起全屏。当时没唤起成功,后续查阅资料是因为我定义 video 的id 和之前的一样,需要注意的是 video中id命名不能和其他页面的video名字重合,否则无法唤起全屏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值