h5使用video标签解决自动全屏问题

问题描述:

h5页面内使用video标签播放视频,会自动全屏;且不能自动播放的问题

两种情况:

一、普通浏览器内

1> 解决全屏播放的问题方案:

标签内添加属性:

    webkit-playsinline="true" 

    x-webkit-airplay="true"

    playsInline={true}

    x5-playsinline="true"

    x5-video-orientation="portraint"

案例如下:

/* 标签内 添加 以下几个属性*/
<video id="video1"

    muted  //静音

    webkit-playsinline="true" 

    x-webkit-airplay="true"

    playsInline={true}

    x5-playsinline="true"

    x5-video-orientation="portraint"

    width="100%"

    autoPlay={true}

>

<source id="source1" src={`${home}?playsinline=1`} type="video/mp4"></source>

</video>

2> 解决不能自动播放情况

如上代码案例中添加 muted  静音属性,同时,使用js控制

var myVideo=document.getElementById("video1");
try {
    myVideo.play(); 
} catch (error) {
    console.log("video被阻止了,需要手动触发按钮或别的事件,和用户有交互后 ,再调用play()")
  
}

二、在app客户端内嵌入h5页面

1>解决全屏播放的问题方案(h5和客户端都需要处理)

首先h5页面上需要在音频资源后添加?playsinline=1 参数,然后客户端配合修改视频播放的默认配置,如下图所示:

<video id="video1" >
    <source id="source1" src={`xxxxxxxx.mp4?playsinline=1`} type="video/mp4"></source>
</video>

app修改如图上标记位置或者代码中修改 configuration.allowsInlineMediaPlayback = true; 

(具体代码在哪问app相关人员)

三、多个视频播放,需要预加载,减少卡顿情况,视频加载完成前可以先添加一个封面进行缓冲

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值