作为网络媒体的忠实拥护者,我一直为能够控制媒体的方式而感到兴奋。 也许我对<video>标签及其相关元素和属性之类的简单事物感到兴奋,因为网络上的媒体始于自定义编解码器,浏览器扩展和Flash。 我在网络上兴奋的最新真棒媒体功能是画中画(Picture-in-Picture),这是一种本地Web API,用于显示停靠的视频。 让我们看看它是如何工作的!

观看演示

画中画的好处

在使用画中画之前,重要的是要知道为什么使用它以及从中获得的好处:

  • 用户滚动时无需创建自己的停靠视频元素-浏览器会为您完成!
  • 出色的性能,可用性和维护优势
  • 停靠的视频显示在浏览器中所有标签的上方,而不仅仅是在其中启动的标签
  • 保持在画中画模式,直到您更改页面

检测画中画支持

在使用任何API之前,最好确保已支持和启用该功能。 为此,浏览器将显示document.pictureInPictureEnabled以及每个视频属性:

if(document.pictureInPictureEnabled && !videoElement.disablePictureInPicture
) {// Yay, we can use the feature!
}

使用支持API的浏览器,就该开始了!

启动画中画

在开始画中画之前,重要的是首先检查一下我们是否还没有进入画中画:

if(!document.pictureInPictureElement) {videoElement.requestPictureInPicture();
}

一旦确认未使用PiP,就可以通过在HTMLVideoElement上调用requestPictureInPicture()来启动PiP。

退出画中画

要退出画中画模式,可以调用exitPictureInPicture()

document.exitPictureInPicture();

“画中画”窗口将从浏览器底部删除。

安全的画中画功能

汇集提供的代码示例,我们可以结合使用一个安全的画中画实用程序功能:

function enterPictureInPicture(videoElement) {if(document.pictureInPictureEnabled && !videoElement.disablePictureInPicture) {try {if (document.pictureInPictureElement) {document.exitPictureInPicture();}videoElement.requestPictureInPicture();} catch(err) {console.error(err);}}
}

此功能可以安全地将视频放入画中画,同时保护您免受错误或已经画中画的视频的侵害。

画中画活动

除了进入和退出画中画功能外,在每个步骤中还会发射一组JavaScript事件:

  • enterpictureinpicture :在放置在画中画的HTMLVideoElement上触发
  • leavepictureinpicture :在退出PiP的HTMLVideoElement上触发

以下是每个示例的简单示例:

$("#myVideo").addEventListener("enterpictureinpicture", e => {// Entered PiP!
});$("#myVideo").addEventListener("leavepictureinpicture", e => {// Exited PiP!
});
观看演示

画中画模式是一种了不起的API,可让用户在浏览其他选项卡或仅在页面中浏览时使用视频内容。 结合scroll事件甚至Intersection Observer API ,画中画是您的用户会喜欢的强大功能!

.x-secondary-small {display: none; }@media only screen and (max-width: 600px) {.x-secondary {max-height: none;}.x-secondary-large {display: none;}.x-secondary-small {display: block;} }

翻译自: https://davidwalsh.name/javascript-pip


http://www.taodudu.cc/news/show-2820538.html

相关文章:

  • 推荐1个视频播放画中画工具!
  • 视频画中画制作,一款简单好上手的软件
  • Android 画中画(图片)
  • 画中画 视频叠加 视频覆盖 overlay
  • Android悬浮窗口-画中画功能
  • 原生API实现视频画中画模式
  • n行Python代码系列:五行代码实现两个视频画中画播放
  • 在视频中添加图片,图片中添加视频,制作画中画效果
  • ffmpeg实现画中画
  • ffmpeg 多视频 画中画
  • ffmpeg流媒体视频合并(画中画)效果并推流
  • 画中画视频如何制作
  • 考研英语二计算机词汇,考研英语词汇84分的一些经验
  • 计算机英语的词汇量,英语词汇量多少才够用
  • 保研计算机英语词汇,如何技巧背诵考研英语词汇
  • 计算机的发展英语600词,计算机英语的词汇变化
  • 计算机应用基础常见英语词汇,数学专业常用英语词汇.doc
  • java与英语词汇_Java英语词汇表
  • 计算机编程背那个英语词汇,编程英语词汇
  • 计算机硬件英语词汇,计算机硬件英语词汇
  • linux系统英语词汇大全,Linux系统管理中基本命令和英语词汇
  • java编程英语词汇_Java编程基础常见英语词汇
  • R语言作业一:矩估计、极大似然估计、拟合、对数正态分布、泊松分布、负二项分布
  • 统计建模与R软件 薛毅 陈立萍 清华大学出版社第四章课后答案
  • 三、经典算法
  • 机器学习整理
  • 【数据分析 R语言实战】学习笔记 第六章 参数估计与R实现(上)
  • 时间序列 R 08 指数平滑 Exponential smoothing
  • R语言与点估计学习笔记(矩估计与MLE)
  • R语言第十讲 逻辑斯蒂回归

JavaScript画中画API相关推荐

  1. 原生js提供的视频画中画api

    经常看视频的朋友可能会遇到视频"画中画"的效果,例如你在看优酷的电视剧,向下滚动看推荐视频或者评论等信息的时候,发现上面的播放视频被屏幕上滚之后遮盖了,右下方出现了一个小视频播放器 ...

  2. 好程序员web前端教程分享JavaScript验证API

    好程序员web前端教程分享JavaScript验证API,小编每天会分享一下干货给大家.那么今天说道的就是web前端培训课程中的章节. JavaScript验证API 约束验证DOM方法 Proper ...

  3. 体验 Orbeon form PE 版本提供的 JavaScript Embedding API

    链接:https://www.orbeon.com/download 在实际项目中,如果需要使用到某些高级功能,比如 The Form Runner JavaScript Embedding API, ...

  4. JavaScript + Audio API自制简易音乐播放器(详细完整版、小白都能看懂)

    JavaScript + Audio API自制简易音乐播放器(详细完整版) ** 音乐播放器的功能清单如下: ** 1.点击暂停按钮,歌曲暂停 2.点击播放按钮,歌曲播放 3.单曲循环与取消单曲循环 ...

  5. 使用 JavaScript 调用 API

    使用 JavaScript 调用 API 前言 译者述 作者述 预备知识 本文目标 快速浏览 配置 连接 API 获得 API 端点 通过 HTTP 请求检索数据 处理 JSON 响应 展示数据 总结 ...

  6. Web API 接口-JavaScript全部api接口文档

    当使用JavaScript编写网页代码时,有很多API可以使用.以下是所有对象.类型等接口的列表,你在开发网页应用程序或站点时使用它们. API文档地址:https://developer.mozil ...

  7. JavaScript常用API总结

    下面是我整理的一些JavaScript常用的API清单. 目录 1:元素查找 2:class操作 3:节点操作 4:属性操作 5:内容操作 6:css操作 7:位置大小 8:事件 9:DOM加载完毕 ...

  8. 借助 CORS 从 JavaScript 使用 API 应用

    应用服务提供内置的跨域资源共享 (CORS) 支持,可让 JavaScript 客户端对 API 应用中托管的 API 进行跨域调用.应用服务允许配置对 API 的 CORS 访问,无需在 API 中 ...

  9. 关于 Orbeon form PE 版本使用 JavaScript Embedding API 的一个例子

    参考官网. 官网提到,如果想在网页里嵌入 form,需要插入如下的 JavaScript 片段: <script type="text/javascript" src=&qu ...

最新文章

  1. 如何在 bash 中使用键值字典
  2. 《算法竞赛进阶指南》打卡-基本算法-AcWing 94. 递归实现排列型枚举:dfs、二进制状态压缩
  3. C语言求最大公约数与最小公倍数
  4. Maven 打包的3中场景
  5. 《 Python树莓派编程》——第1章 树莓派简介 第1.1 树莓派的历史
  6. Windows使用筛选器来处理异常
  7. Matplotlib 中文用户指南 4.7 使用 LaTeX 渲染文本
  8. Lisp获取偏置后对象的坐标点_三坐标测量基础知识2020
  9. MySql数据库下载和安装
  10. 杭州电子科技大学考研经验贴
  11. 学习总结——Postman做http接口功能测试
  12. [工具] IntelliJ IDEA 中文语言包插件
  13. SpringSecurity前后端分离
  14. 特征工程(五): PCA 降维
  15. 【MYSQL】误删数据恢复流程说明
  16. uniapp登录页设计
  17. 2021周记11:慢慢自律和追剧
  18. 神秘的西夏王朝和西夏王陵(上)
  19. 【李开复】给中国学生的第五封信——你有选择的权利(五)
  20. SDH原理--3.开销和指针

热门文章

  1. C# 保存图片到本地文件夹中
  2. 网络天才网页中文版_【网络天才网页版】网络天才最新中文网页版下载v2.2.3-街机中国...
  3. CGB2104-Day17
  4. android 5.0一键刷机教程,HTC D820t (Desire 820 移动4G Android 5.0)一键刷机教程,轻松刷机...
  5. 2021-03-21 什么是鲁棒性?
  6. 苹果怎样用小米云服务器,苹果换华为/小米,怎么同步数据?教程来了!
  7. python中numpy函数ftt_语音MFCC提取:librosa python_speech_feature(2019.12)
  8. Knuth-Morris-Pratt Algorithm(KMP算法)探赜索隐(一)
  9. touchdesigner音频可视化
  10. 计算机术语写祝福语,祝福语精选