产品百科 |如何启用 H5 的同层播放

简介: 您可以阅读本文,了解阿里云视频点播产品在 H5 的同层播放功能。

背景信息

阿里云播放器 2.0.1 及以上,支持在 Android 微信小程序上支持 H5 同层播放功能,此功能只对 Android 腾讯的 X5 浏览器起作用。

如果微信没有启用同层播放,在 Android 微信上播放视频时,会自动弹出全屏播放, 覆盖 Dom 元素。

同层播放属性

名称 类型 说明
x5_type String 启用同层播放,设置值为 h5。
x5_fullscreen Boolean 声明视频播放时是否进入到 TBS 的全屏模式,支持的值为 true。
x5_video_position String 声明视频播在界面上的位置,默认为 center。取值:
  • top:顶部。
  • center:中央。
x5_orientation String 声明 TBS 播放器支持的方向,取值:
  • landscape:横屏。
  • portraint:竖屏。

同层播放设置

  • 不全屏同层播放通过设置 x5_type 属性为 h5,将 playsinline 设置为 false,启用同层播放。
    通过 x5_video_position 定义视频的位置,如果在顶部可以设置为 top,居中可以设置 center,默认为 center。
    Demo,请下载 H5 Demo。
    image.png
  • 全屏同层播放通过设置 x5_type 属性为 h5,将 playsinline 设置为 false,启用同层播放,设置 x5_fullscreen 为 true,启用全屏, 全屏播放器不需要设置 x5_video_position 属性。
    全屏播放视频默认是平铺的,如果想不平铺可以设置 object-fit 的样式为 contain 或其它。
video {
    object-fit: contain !important;
    }

同层播放的建议

在使用同层播放器时,为您提供的的一些建议,如下所示。

  • 监听 resize 事件实现自适应视口大小变化,视频播放时会调整视口大小。
  • 在视频播放期间的交互、弹框和字幕要在视频视频区域中,不要在视频区域外。
  • 对于直播类全屏视频,最好不要在最顶部放交互性元素。
  • 对于需要全屏交互的,可以将 video 区域设置为视口大小。

更多设置

  • 进入和退出同层播放时布局处理在进入和退出同层播放的事件里,可以添加一些调整布局的逻辑,时常在进入同层播放时,布局需要做一下调整。例如全屏,元素的位置等。
    进入事件: x5requestFullScreen。
    退出事件: x5cancelFullScreen。
  • 更多的自定义如果 x_video_position 属性的 top 和 center 不能满足要求,可以通过自定义 object-fit 和 object-position 属性,进行更灵活的设置视频的显示位置。
  • object-fit 属性object-fit:CSS 属性指定替换元素的内容应该如何适应到其使用的高度和宽度确定的框。取值:
  • object-fit:fill。
  • object-fit:contain
  • object-fit:cover
  • object-fit: none
  • object-fit: scale-down
  • 每个值的效果图展示如下所示。
    image.png
    CSS 代码如下所示。
video {
    object-fit: contain !important;
    }
  • object-position 属性object-position:CSS 属性控制替换内容位置,和 background-position 属性很类似。
    CSS 代码如下所示。
img {
   width: 300px;
   height: 250px;
   border: 1px solid black;
   background-color: silver;
   margin-right: 1em;
   object-fit: none;
}
#object-position-1 {
  object-position: 10px;
}
#object-position-2 {
  object-position: 100% 10%;
}
  • 效果如下所示。image.png
  • 调整播放器容器的高度由于设置了视频的位置,会引起 controlbar 显示不是在视频的最下面,可以通过订阅 resize 和 requestFullScreen 事件调整视频容器的高度。
var setLayout = function()
{    
    //设置播放器容器的高度
    var height ; //根据实际情况设置高度
    player.el().style.height = height;
}
window.onresize = function(){
    setLayout();
}
player.on("requestFullScreen", function(){
    setLayout();
});


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。


image.png

相关文章
|
存储 NoSQL Java
Elasticsearch Nested 选型,先看这一篇!
1、关于Nested 问题 上次讲解了Elasticsearch 数据建模之后,很多同学反馈问题: Q1:用nested做嵌套文档,对嵌套文档的字段做查询,只要主文档下一个嵌套文档符合要求,就会把主文档以及下面的所有的嵌套文档都查出来,实际我只需要符合要求的嵌套文档。这个用nested可以做吗? Q2:请教个问题 这个nested 是只要用这个字段类型就影响性能还是说当只有用这个字段类型去筛选才影响性能? Q3:Elasticsearch Nested 取一条数据 怎么搞? Q4:nested聚合查询等,导致jvm内存剧增,出现长时间的full GC,如何破? 介于此,非常有必要将
Elasticsearch Nested 选型,先看这一篇!
|
8月前
|
人工智能 安全 API
5分钟搭建专属AI知识库!OpenClaw阿里云/本地部署+飞书智能知识库实战+百炼API配置指南
在2026年的AI生态中,单纯的对话模型早已无法满足深度使用需求,AI+私有知识库才是真正能落地、能复用、能持续进化的核心形态。无论是个人沉淀经验、团队共享文档、企业管理技术资料,还是把OpenClaw训练成专属智能助手,一套可问答、可检索、可溯源的AI知识库,都能让效率呈指数级提升。
4193 5
|
3月前
|
自然语言处理 监控 算法
流量分配机制解析:抖音中心化与小红书搜索架构的适配逻辑
本文深度拆解抖音与小红书流量机制差异:抖音依赖“瞬时反馈赛马算法”,重前3秒吸引力与完播率;小红书基于“搜索召回模型”,重关键词布局与收藏率。二者对内容的要求几乎相反,需针对性适配——低决策成本产品适配抖音,高决策成本产品深耕小红书。
1034 0
|
5月前
|
存储 人工智能 数据可视化
如何搭建音视频知识库?从语音转文字到结构化整理的完整方案
本文分享用AI(如Ai好记+Obsidian)将B站、播客、YouTube等音视频高效转化为可检索知识库的实操方案:一键实现视频转笔记、语音转文字、视频总结、思维导图生成,并支持全文搜索与双向链接,15分钟搞定45分钟视频,大幅提升知识获取效率。
|
6月前
|
弹性计算 监控 网络协议
服务器部署后用户反馈访问慢,一份 SRE 视角的全链路网络诊断实战清单
本文总结后端/运维/站长高频遇到的“用户访问异常”问题,提出可落地的“全链路诊断七步法”:从多地Ping、TCPing、HTTP分段测速、Traceroute定位拥塞点,到DNS一致性检查与IP信誉扫描。不讲理论,只教命令、工具和典型现象判断,助你快速定位网络瓶颈,告别“本地正常、用户炸锅”的排查困境。
827 0
|
测试技术 异构计算
|
12月前
|
传感器 人工智能 安全
万物联网
万物互联,智启未来。物联网正重塑生活与产业:从智能家居到智慧工厂,从城市治理到精准农业,通过感知、连接与智能,实现物物协同。融合AI、5G与数字孪生,迈向高效、智能的新纪元。
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】常用的人工智能框架、模型、使用方法、应用场景以及代码实例的概述
人工智能(AI)领域涉及众多框架和模型,这些框架和模型为开发人员提供了强大的工具,以构建和训练各种AI应用。以下是一些常用的人工智能框架、模型、使用方法、应用场景以及代码实例的概述。
1854 1
|
缓存 负载均衡 监控
slb基于DNS的负载均衡
slb基于DNS的负载均衡
1340 8
|
Dart Android开发 iOS开发
Flutter 弃用 WillPopScope 使用 PopScope 替代方法
了解如何在 Flutter 3.16 中将弃用的 WillPopScope 替换为 PopScope,并学习如何升级您的 Flutter 应用程序。详细指南和最佳实践,帮助您顺利迁移和更新您的导航逻辑。
1000 7
Flutter 弃用 WillPopScope 使用 PopScope 替代方法

热门文章

最新文章