一、下面播报一则新闻

Chrome 70已经原生支持HTML5 <video>播放时候Picture-in-Picture,也就是俗称的画中画技术,也就是很多视频网站看评论时候,播放视频变小挂在右下角的这种交互技术。

我一瞅自己的Chrome浏览器,正好就是Chrome 70,体验了一番,挺有意思的,值得介绍下,以后估计用得着。

二、先看画中画实例demo

点击页面的切换按钮,或者右键视频→画中画,都可以进入视频画中画模式:

在页面右下角可以看到一个小视频,尺寸小小的视频:

实际上,此时的这个小视频是个脱离于浏览器定位的,顶级的播放窗口,我们把浏览器最小化,此视频依然会在右下角播放,就像腾讯视频客户端播放器的精简模式一样:

于是,我们可以一边码代码,一边看网页视频了。

三、画中画几个API简介

画中画看上去很酷,总感觉API也会很复杂,实际上,除了名称长了点,超简单的。

假设变量video就是我们的<video>视频元素,则,进入画中画模式,直接一句:

// 进入画中画
video.requestPictureInPicture();

退出画中画模式,也是一句:

// 退出画中画
document.exitPictureInPicture();

为了方便我们监听视频的播放状态,还提供了2个事件API接口,如下:

// 进入画中画模式时候执行
video.addEventListener('enterpictureinpicture', function() {// 已进入画中画模式
});
// 退出画中画模式时候执行
video.addEventListener('leavepictureinpicture', function() {// 已退出画中画模式
});

最后,还提供了一个PictureInPictureWindow对象,也就是画中画窗口对象,包含widthheightonresize这些属性,示意如下:

{height: 192,onresize: null,width: 341
}

widthheight表示小窗口现在的高度和宽度,onresize属性值是个Function,可以监听小窗口尺寸的改变。PictureInPictureWindow对象的获取在画中画响应事件的event对象中,例如:

video.addEventListener('enterpictureinpicture', function(event) {var pipWindow = event.pictureInPictureWindow;// pipWindow就是一个PictureInPictureWindow对象// 我们可以绑定resize事件pipWindow.addEventListener('resize', function () {// pipWindow.width就是小视频窗口的宽度// pipWindow.height就是小视频窗口的高度});
});

以上,基本上就是HTML video Picture-in-Picture画中画技术全部API了,两个方法(进入和退出),两个事件(进入和退出)以及一个对象(画中画窗体对象)。

这点程度的学习相信大家一定都毫无压力。

四、最后再说点啥

当视频进入画中画模式的时候,浏览器的标签页上会出现一个方框框小标志,同时title提示也会发生变化

当进入画中画模式的时候,原视频会停止播放、置灰,并提示已进入画中画模式:

为了帮助大家让学习变得轻松、高效,给大家免费分享一大批资料,帮助大家在成为前端工程师,乃至全栈工程师的路上披荆斩棘。在这里给大家推荐一个前端全栈学习扣qun:784783012 欢迎大家进群交流讨论,学习交流,共同进步。
当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。
但最重要的是不知道哪些技术需要重点掌握,学习时频繁踩坑,最终浪费大量时间,所以有效资源还是很有必要的。

前端开发入门到实战:HTML5 video视频播放相关推荐

  1. Web前端开发入门教程,HTML5+CSS3+JS教程,达到web前端工程师的水平

    Web前端开发是一个非常热门的职业,随着互联网的发展,越来越多的企业需要拥有自己的网站和应用程序.本文将介绍Web前端开发的入门教程,包括HTML5.CSS3和JS教程,帮助读者达到Web前端工程师的 ...

  2. 前端开发入门到实战:JavaScript字符串转换数字

    js 字符串转换数字方法主要有三种: 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者 ...

  3. 前端开发入门到实战:六种组织CSS的方式

    OOCSS OOCSS 意为面向对象的CSS.这种方法有两种主要 观点: 结构与设计分离 容器和内容分离 使用这套结构,开发者能得到可以在不同地方使用的一般类. 在这一步,会存在两点(通常就好和坏): ...

  4. React前端开发入门与实战案例

    课程介绍 本课程主要讲解React的基础使用技巧及实战案例. React 是一个用于构建用户界面的 JavaScript 库,主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图).R ...

  5. Web前端html5+css3前端开发入门学习笔记

    文章目录 前言 HTML 认识HTML 1. 网页组成和本质 2.了解浏览器 3.web标准 4.HTML感知 5.HTML骨架 6.编译软件vscode的简介和使用 7.注释 8.标签组成和关系 9 ...

  6. web前端开发入门(一)

    web前端开发入门(一) 前端开发入门 HTML/CSS/JavaScript JavaScript 总结 思考和实践 前端开发入门 首先必须掌握 HTML/CSS/JavaScript 这三大基础技 ...

  7. web前端开发入门学习线路图详解-2019升级版

    现如今,Web前端工程师已经成为各大互联网公司不可或缺的热门职位,从业者队伍日渐庞大,这其中不乏零基础学习者和转行人士.为了方便大家系统而全面的掌握前端基础知识,千锋小编特意整理了web前端开发入门学 ...

  8. Web前端开发入门之网页制作三要素!

    Web前端开发是由网页制作演变而来的,主要由HTML.CSS.JavaScript三大要素组成.专业的Web前端开发入门知识也一定会包含这些内容,今天小千就给大家简单介绍一下. HTML,超文本标记语 ...

  9. html在线时间统计图,Web前端开发入门,HTML一张图学会,还在看数小时视频浪费时间?...

    同样的地方,同样的时间,又跟大家见面了.想学习前端朋友可以加我们的前端学习群:617327703 很多人问我,前端开发入门怎么开始?这里呢,先看下我之前发的文章有大体的概括思路跟流程在里面.今天主要分 ...

最新文章

  1. VTK:IO之ReadPlainTextTriangles
  2. 【剑指offer 07】用迭代和递归两种方法重构二叉树(python实现)
  3. Java 线程多线程编程3---线程同步之生产者与消费者问题
  4. 使用.NetCore 控制台演示 熔断 降级(polly)
  5. 隐马尔可夫(HMM)/感知机/条件随机场(CRF)----词性标注
  6. hashmap put复杂度_集合类HashMap,HashTable,ConcurrentHashMap区别?
  7. (推荐)(提供下载)ORACLE常见问题一千问(不怕学不成、就怕心不诚!)
  8. n9 android rom,美如画N9盒子线刷固件rom升级包下载(全志H8芯片)
  9. POJ - Rotating Scoreboard(半平面交)
  10. Riverbed未来要往哪里去?收购Ocedo让你一目了然
  11. 破解中小企业“生产、设计、销售”三大痛点,网易推出“时尚工业互联网”
  12. 内存取证-volatility工具的使用 (史上更全教程,更全命令)
  13. 网秦创始人林宇称遭史文勇非法拘禁 后者称是恶意中伤
  14. 基因组学(Geonomics)
  15. win10 vs2015 jsoncpp编译 支持xp系统
  16. GPRS学习(1)----网络结构及主要网元功能
  17. 去哪儿2017校园招聘笔试题
  18. Beyond compare4 激活和秘钥
  19. Maven——Maven核心概念——史上最烂系列
  20. Android onMeasure、Measure、measureChild、measureChildren 一些简要说明

热门文章

  1. Java面向对象的四个特征
  2. PyQt5 按钮Buttons样式设计
  3. 小程序源码:老年祝福短视频微信小程序源码下载支持流量主
  4. C盘空间不够 mklink解决VScode扩展迁移到其他盘
  5. Unity3D Coroutine携程管理器
  6. WIFI环境搭建与测试
  7. Python list列表添三种加元素的方法
  8. Adnroid GraphHopper 离线导航路网数据包制作
  9. php可以做移动端网站,Thinkphp如何制作一个PC网站和移动端网站
  10. 将您重定向的次数过多什么意思_301永久重定向的设置方法大全