JavaScript画中画API
作为网络媒体的忠实拥护者,我一直为能够控制媒体的方式而感到兴奋。 也许我对<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相关推荐
- 原生js提供的视频画中画api
经常看视频的朋友可能会遇到视频"画中画"的效果,例如你在看优酷的电视剧,向下滚动看推荐视频或者评论等信息的时候,发现上面的播放视频被屏幕上滚之后遮盖了,右下方出现了一个小视频播放器 ...
- 好程序员web前端教程分享JavaScript验证API
好程序员web前端教程分享JavaScript验证API,小编每天会分享一下干货给大家.那么今天说道的就是web前端培训课程中的章节. JavaScript验证API 约束验证DOM方法 Proper ...
- 体验 Orbeon form PE 版本提供的 JavaScript Embedding API
链接:https://www.orbeon.com/download 在实际项目中,如果需要使用到某些高级功能,比如 The Form Runner JavaScript Embedding API, ...
- JavaScript + Audio API自制简易音乐播放器(详细完整版、小白都能看懂)
JavaScript + Audio API自制简易音乐播放器(详细完整版) ** 音乐播放器的功能清单如下: ** 1.点击暂停按钮,歌曲暂停 2.点击播放按钮,歌曲播放 3.单曲循环与取消单曲循环 ...
- 使用 JavaScript 调用 API
使用 JavaScript 调用 API 前言 译者述 作者述 预备知识 本文目标 快速浏览 配置 连接 API 获得 API 端点 通过 HTTP 请求检索数据 处理 JSON 响应 展示数据 总结 ...
- Web API 接口-JavaScript全部api接口文档
当使用JavaScript编写网页代码时,有很多API可以使用.以下是所有对象.类型等接口的列表,你在开发网页应用程序或站点时使用它们. API文档地址:https://developer.mozil ...
- JavaScript常用API总结
下面是我整理的一些JavaScript常用的API清单. 目录 1:元素查找 2:class操作 3:节点操作 4:属性操作 5:内容操作 6:css操作 7:位置大小 8:事件 9:DOM加载完毕 ...
- 借助 CORS 从 JavaScript 使用 API 应用
应用服务提供内置的跨域资源共享 (CORS) 支持,可让 JavaScript 客户端对 API 应用中托管的 API 进行跨域调用.应用服务允许配置对 API 的 CORS 访问,无需在 API 中 ...
- 关于 Orbeon form PE 版本使用 JavaScript Embedding API 的一个例子
参考官网. 官网提到,如果想在网页里嵌入 form,需要插入如下的 JavaScript 片段: <script type="text/javascript" src=&qu ...
最新文章
- 如何在 bash 中使用键值字典
- 《算法竞赛进阶指南》打卡-基本算法-AcWing 94. 递归实现排列型枚举:dfs、二进制状态压缩
- C语言求最大公约数与最小公倍数
- Maven 打包的3中场景
- 《 Python树莓派编程》——第1章 树莓派简介 第1.1 树莓派的历史
- Windows使用筛选器来处理异常
- Matplotlib 中文用户指南 4.7 使用 LaTeX 渲染文本
- Lisp获取偏置后对象的坐标点_三坐标测量基础知识2020
- MySql数据库下载和安装
- 杭州电子科技大学考研经验贴
- 学习总结——Postman做http接口功能测试
- [工具] IntelliJ IDEA 中文语言包插件
- SpringSecurity前后端分离
- 特征工程(五): PCA 降维
- 【MYSQL】误删数据恢复流程说明
- uniapp登录页设计
- 2021周记11:慢慢自律和追剧
- 神秘的西夏王朝和西夏王陵(上)
- 【李开复】给中国学生的第五封信——你有选择的权利(五)
- SDH原理--3.开销和指针
热门文章
- C# 保存图片到本地文件夹中
- 网络天才网页中文版_【网络天才网页版】网络天才最新中文网页版下载v2.2.3-街机中国...
- CGB2104-Day17
- android 5.0一键刷机教程,HTC D820t (Desire 820 移动4G Android 5.0)一键刷机教程,轻松刷机...
- 2021-03-21 什么是鲁棒性?
- 苹果怎样用小米云服务器,苹果换华为/小米,怎么同步数据?教程来了!
- python中numpy函数ftt_语音MFCC提取:librosa python_speech_feature(2019.12)
- Knuth-Morris-Pratt Algorithm(KMP算法)探赜索隐(一)
- touchdesigner音频可视化
- 计算机术语写祝福语,祝福语精选